azkaban-aplcache
Changes
build.xml 133(+102 -31)
ivy.xml 29(+29 -0)
ivy/.gitignore 1(+1 -0)
ivy/ivysettings.xml 27(+27 -0)
ivy/libraries.properties 11(+11 -0)
Details
build.xml 133(+102 -31)
diff --git a/build.xml b/build.xml
index 65fa4ba..090f5be 100644
--- a/build.xml
+++ b/build.xml
@@ -1,6 +1,7 @@
<?xml version="1.0"?>
-<project name="azkaban" basedir="." default="all">
+<project name="azkaban" basedir="." default="all"
+ xmlns:ivy="antlib:org.apache.ivy.ant">
<property file="build.properties" />
<property name="base.dir" value="${basedir}" />
<property name="dist.jar.dir" value="${basedir}/dist/jars" />
@@ -26,15 +27,33 @@
<property name="less.src.dir" value="${basedir}/src/less" />
<property name="web.src.dir" value="${basedir}/src/web" />
<property name="sql.src.dir" value="${basedir}/src/sql" />
-
+
<property name="version.file" value="${dist.packages.dir}/azkaban.version" />
+ <!-- Ivy properties -->
+ <property name="mvnrepo" value="http://repo2.maven.org/maven2" />
+ <property name="build.dir" value="${base.dir}/build" />
+ <property name="ivy.dir" location="ivy" />
+ <loadproperties srcfile="${ivy.dir}/libraries.properties" />
+
+ <property name="loglevel" value="default" />
+ <property name="ivy.jar" value="${ivy.dir}/ivy-${ivy.version}.jar" />
+ <property name="ivy.repo.url"
+ value="${mvnrepo}/org/apache/ivy/ivy/${ivy.version}/ivy-${ivy.version}.jar" />
+ <property name="ivysettings.xml" value="${ivy.dir}/ivysettings.xml" />
+ <property name="build.ivy.dir" location="${build.dir}/ivy" />
+ <property name="build.ivy.lib.dir" location="${build.ivy.dir}/lib" />
+ <property name="ivy.artifact.retrieve.pattern" value="[artifact]-[revision].[ext]" />
+
<property environment="env" />
<path id="main.classpath">
<fileset dir="${lib.dir}">
<include name="*.jar" />
</fileset>
+ <fileset dir="${build.ivy.lib.dir}">
+ <include name="*.jar" />
+ </fileset>
<pathelement path="${dist.classes.dir}" />
</path>
@@ -44,30 +63,75 @@
<target name="all" depends="clean, package" description="Builds jars and packages." />
+ <target name="ivy-probe-antlib">
+ <condition property="ivy.found">
+ <typefound uri="antlib:org.apache.ivy.ant" name="cleancache" />
+ </condition>
+ </target>
+
+ <target name="ivy-download" description="Downloads Ivy." unless="offline">
+ <get src="${ivy.repo.url}" dest="${ivy.jar}" usetimestamp="true" />
+ </target>
+
+ <target name="ivy-init-dirs">
+ <mkdir dir="${build.ivy.dir}" />
+ <mkdir dir="${build.ivy.lib.dir}" />
+ </target>
+
+ <target name="ivy-init-antlib" depends="ivy-download, ivy-init-dirs, ivy-probe-antlib" unless="ivy.found">
+ <typedef uri="antlib:org.apache.ivy.ant" onerror="fail" loaderRef="ivyLoader">
+ <classpath>
+ <pathelement location="${ivy.jar}" />
+ </classpath>
+ </typedef>
+ <fail>
+ <condition>
+ <not>
+ <typefound uri="antlib:org.apache.ivy.ant" name="cleancache" />
+ </not>
+ </condition>
+ You need Apache Ivy 2.0 or later from http://ant.apache.org/
+ It sould not be loaded from ${ivy.repo.url}
+ </fail>
+ </target>
+
+ <target name="ivy-init" depends="ivy-init-antlib">
+ <ivy:configure settingsid="${ant.project.name}.ivy.settings" file="${ivysettings.xml}" override="false" />
+ </target>
+
+ <target name="ivy-resolve" depends="ivy-init" description="Resolve dependencies with Ivy">
+ <ivy:resolve settingsRef="${ant.project.name}.ivy.settings" log="${loglevel}" />
+ </target>
+
+ <target name="ivy-retrieve" depends="ivy-resolve" description="Retrieve Ivy-managed artifacts.">
+ <ivy:retrieve settingsRef="${ant.project.name}.ivy.settings"
+ pattern="${build.ivy.lib.dir}/${ivy.artifact.retrieve.pattern}" log="${loglevel}" />
+ </target>
+
<available file=".git" type="dir" property="git.present"/>
<target name="git.info" description="Store git info" if="git.present">
- <exec executable="git" outputproperty="git.commithash" failifexecutionfails="false" errorproperty="">
- <arg value="rev-parse"/>
- <arg value="HEAD"/>
- </exec>
-
- <exec executable="git" outputproperty="git.repo" failifexecutionfails="false" errorproperty="">
- <arg value="config"/>
- <arg value="--get"/>
- <arg value="remote.origin.url"/>
- </exec>
-
- <exec executable="git" outputproperty="git.tag" failifexecutionfails="false" errorproperty="">
- <arg value="describe"/>
- <arg value="--abbrev=0"/>
- <arg value="--tags"/>
- </exec>
- <condition property="git.tag" value="${git.tag}" else="${version}">
- <and>
- <isset property="git.tag"/>
- <length string="${git.tag}" trim="yes" length="0" when="greater"/>
- </and>
- </condition>
+ <exec executable="git" outputproperty="git.commithash" failifexecutionfails="false" errorproperty="">
+ <arg value="rev-parse"/>
+ <arg value="HEAD"/>
+ </exec>
+
+ <exec executable="git" outputproperty="git.repo" failifexecutionfails="false" errorproperty="">
+ <arg value="config"/>
+ <arg value="--get"/>
+ <arg value="remote.origin.url"/>
+ </exec>
+
+ <exec executable="git" outputproperty="git.tag" failifexecutionfails="false" errorproperty="">
+ <arg value="describe"/>
+ <arg value="--abbrev=0"/>
+ <arg value="--tags"/>
+ </exec>
+ <condition property="git.tag" value="${git.tag}" else="${version}">
+ <and>
+ <isset property="git.tag"/>
+ <length string="${git.tag}" trim="yes" length="0" when="greater"/>
+ </and>
+ </condition>
<echo>Git tag found to be ${git.commithash} with tag ${git.tag} from repo ${git.repo}</echo>
</target>
@@ -77,13 +141,20 @@
<delete dir="${dist.classes.dir}" />
<delete dir="${dist.dust.dir}" />
<delete dir="${dist.less.dir}" />
- <exec dir="${dust.src.dir}" executable="make" failonerror="true">
- <arg value="clean" />
- </exec>
- <exec dir="${less.src.dir}" executable="make" failonerror="true">
- <arg value="clean" />
- </exec>
+ <delete dir="${build.dir}" />
+ <exec dir="${dust.src.dir}" executable="make" failonerror="true">
+ <arg value="clean" />
+ </exec>
+ <exec dir="${less.src.dir}" executable="make" failonerror="true">
+ <arg value="clean" />
+ </exec>
</target>
+
+ <target name="distclean" depends="clean" description="Delete all generated files.">
+ <delete dir="${ivy.dir}">
+ <include name="*.jar" />
+ </delete>
+ </target>
<target name="dust" description="Compile Less css files.">
<!-- Compile dustjs templates -->
@@ -121,7 +192,7 @@ ${current.time}
</echo>
</target>
- <target name="build" depends="git.info, repo.file" description="Compile main source tree java files">
+ <target name="build" depends="git.info, repo.file, ivy-retrieve" description="Compile main source tree java files">
<echo>Building Classes</echo>
<delete dir="${dist.classes.dir}" />
<mkdir dir="${dist.classes.dir}" />
ivy.xml 29(+29 -0)
diff --git a/ivy.xml b/ivy.xml
new file mode 100644
index 0000000..9985f85
--- /dev/null
+++ b/ivy.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ivy-module version="1.0" xmlns:m="http://ant.apache.org/ivy/maven">
+ <info
+ organisation="com.linkedin.azkaban.scrape"
+ module="azkaban-project-audit"
+ revision="1.0" status="release">
+ </info>
+
+ <dependencies>
+ <dependency name="commons-io" org="commons-io"
+ rev="${commons-io.version}" conf="default->master" />
+ <dependency name="commons-cli" org="commons-cli"
+ rev="${commons-cli.version}" conf="default->master" />
+ <dependency name="commons-dbcp" org="commons-dbcp"
+ rev="${commons-dbcp.version}" conf="default->master" />
+ <dependency name="commons-dbutils" org="commons-dbutils"
+ rev="${commons-dbutils.version}" conf="default->master" />
+ <dependency name="commons-pool" org="commons-pool"
+ rev="${commons-pool.version}" conf="default->master" />
+ <dependency name="log4j" org="log4j"
+ rev="${log4j.version}" conf="default->master" />
+ <dependency name="mysql-connector-java" org="mysql"
+ rev="${mysql-connector.version}" conf="default->master" />
+ <dependency name="jackson-core-asl" org="org.codehaus.jackson"
+ rev="${jackson-core.version}" conf="default->master" />
+ <dependency name="jackson-mapper-asl" org="org.codehaus.jackson"
+ rev="${jackson-mapper.version}" conf="default->master" />
+ </dependencies>
+</ivy-module>
ivy/.gitignore 1(+1 -0)
diff --git a/ivy/.gitignore b/ivy/.gitignore
new file mode 100644
index 0000000..d392f0e
--- /dev/null
+++ b/ivy/.gitignore
@@ -0,0 +1 @@
+*.jar
ivy/ivysettings.xml 27(+27 -0)
diff --git a/ivy/ivysettings.xml b/ivy/ivysettings.xml
new file mode 100644
index 0000000..26bb444
--- /dev/null
+++ b/ivy/ivysettings.xml
@@ -0,0 +1,27 @@
+<ivysettings>
+ <property name="repo.maven.org"
+ value="http://repo1.maven.org/maven2/"
+ override="false"/>
+ <property name="oss.sonatype.org"
+ value="https://oss.sonatype.org/content/groups/public/"
+ override="false"/>
+ <property name="maven2.pattern"
+ value="[organisation]/[module]/[revision]/[module]-[revision]"/>
+ <property name="maven2.pattern.ext"
+ value="${maven2.pattern}.[ext]"/>
+ <settings defaultResolver="default" />
+ <resolvers>
+ <ibiblio name="maven2"
+ root="${repo.maven.org}"
+ pattern="${maven2.pattern.ext}"
+ m2compatible="true" />
+ <ibiblio name="oss-sonatype"
+ root="${oss.sonatype.org}"
+ pattern="${maven2.pattern.ext}"
+ m2compatible="true" />
+ <chain name="default" dual="true">
+ <resolver ref="maven2" />
+ <resolver ref="oss-sonatype" />
+ </chain>
+ </resolvers>
+</ivysettings>
ivy/libraries.properties 11(+11 -0)
diff --git a/ivy/libraries.properties b/ivy/libraries.properties
new file mode 100644
index 0000000..766d155
--- /dev/null
+++ b/ivy/libraries.properties
@@ -0,0 +1,11 @@
+ivy.version=2.1.0
+
+commons-io.version=2.1
+commons-cli.version=1.2
+commons-dbutils.version=1.5
+commons-dbcp.version=1.4
+commons-pool.version=1.6
+mysql-connector.version=5.1.28
+log4j.version=1.2.16
+jackson-core.version=1.9.5
+jackson-mapper.version=1.9.5