diff --git a/.gitignore b/.gitignore index a4f4130042447d40658bdf7faa81e5227b1610fe..62fc485729008b02c966c64c3a3b82d8ce5a226c 100644 --- a/.gitignore +++ b/.gitignore @@ -3,32 +3,26 @@ /*/build/ */nbproject/private/* /nbproject/private/* -/Core/release/ + /Core/src/org/sleuthkit/autopsy/coreutils/Version.properties /Core/build/ /Core/dist/ /Core/nbproject/* !/Core/nbproject/project.xml !/Core/nbproject/project.properties -/CoreLibs/release/modules/lib/ -/CoreLibs/release/modules/ext/ + /CoreLibs/build/ /CoreLibs/dist/ /CoreLibs/nbproject/* !/CoreLibs/nbproject/project.xml !/CoreLibs/nbproject/project.properties -/KeywordSearch/release/ + /KeywordSearch/build/ /KeywordSearch/dist/ /KeywordSearch/nbproject/* !/KeywordSearch/nbproject/project.xml !/KeywordSearch/nbproject/project.properties -/Ingest/release/modules/ext/ -/Ingest/build/ -/Ingest/dist/ -/Ingest/nbproject/* -!/Ingest/nbproject/project.xml -!/Ingest/nbproject/project.properties + */genfiles.properties genfiles.properties /branding/core/core.jar/org/netbeans/core/startup/Bundle.properties @@ -74,7 +68,10 @@ Core/src/org/sleuthkit/autopsy/datamodel/ranges.csv .*.swp -/ImageGallery/release/ -/thunderbirdparser/release/ -/Experimental/release/ +Core/release/ +CoreLibs/release/ +Experimental/release/ +ImageGallery/release/ +KeywordSearch/release/ +thunderbirdparser/release/ diff --git a/Core/build.xml b/Core/build.xml index a3e16b4c78b48ba2e29d3c7949f09b74f7ee032f..2e67e0dcf1010abe515f14c79e0abdf12fabded5 100644 --- a/Core/build.xml +++ b/Core/build.xml @@ -6,15 +6,14 @@ <description>Builds, tests, and runs the project org.sleuthkit.autopsy.core</description> <import file="nbproject/build-impl.xml"/> <import file="../BootstrapIvy.xml"/> - - + + <property name="thirdparty.dir" value="${basedir}/../thirdparty" /> - <property name="release.dir" value="${basedir}/release" /> - <property name="modules.dir" value="${release.dir}/modules/" /> + <property name="modules.dir" value="${basedir}/release/modules/" /> <property name="ext.dir" value="${modules.dir}/ext" /> <target name="get-InternalPythonModules" description="get internal python modules"> - <copy todir="${release.dir}/InternalPythonModules" > + <copy todir="release/InternalPythonModules" > <fileset dir="{basedir}/../../InternalPythonModules"/> </copy> </target> @@ -26,7 +25,7 @@ </copy> <!--Copy photorec to release--> - <copy todir="${release.dir}/photorec_exec" > + <copy todir="${basedir}/release/photorec_exec" > <fileset dir="${thirdparty.dir}/photorec_exec"/> </copy> @@ -39,6 +38,8 @@ <copy file="${thirdparty.dir}/jdom/jdom-2.0.5-contrib.jar" todir="${ext.dir}" /> </target> + + <!-- Verify that the TSK_HOME env variable is set --> <target name="findTSK"> <property environment="env"/> @@ -51,51 +52,44 @@ <target name="getTSKJars" depends="findTSK"> <property environment="env"/> - <copy file="${env.TSK_HOME}/bindings/java/dist/Tsk_DataModel_PostgreSQL.jar" - tofile="${basedir}/release/modules/ext/Tsk_DataModel_PostgreSQL.jar"/> - <copy file="${env.TSK_HOME}/bindings/java/lib/sqlite-jdbc-3.8.11.jar" - tofile="${basedir}/release/modules/ext/sqlite-jdbc-3.8.11.jar"/> - <copy file="${env.TSK_HOME}/bindings/java/lib/postgresql-9.4.1211.jre7.jar" - tofile="${basedir}/release/modules/ext/postgresql-9.4.1211.jre7.jar"/> + <copy file="${env.TSK_HOME}/bindings/java/dist/Tsk_DataModel_PostgreSQL.jar" + tofile="${ext.dir}/Tsk_DataModel_PostgreSQL.jar"/> + <copy file="${env.TSK_HOME}/bindings/java/lib/sqlite-jdbc-3.8.11.jar" + tofile="${ext.dir}/sqlite-jdbc-3.8.11.jar"/> + <copy file="${env.TSK_HOME}/bindings/java/lib/postgresql-9.4.1211.jre7.jar" + tofile="${ext.dir}/postgresql-9.4.1211.jre7.jar"/> <copy file="${env.TSK_HOME}/bindings/java/lib/mchange-commons-java-0.2.9.jar" - tofile="${basedir}/release/modules/ext/mchange-commons-java-0.2.9.jar"/> - <copy file="${env.TSK_HOME}/bindings/java/lib/c3p0-0.9.5.jar" - tofile="${basedir}/release/modules/ext/c3p0-0.9.5.jar"/> + tofile="${ext.dir}/mchange-commons-java-0.2.9.jar"/> + <copy file="${env.TSK_HOME}/bindings/java/lib/c3p0-0.9.5.jar" + tofile="${ext.dir}/c3p0-0.9.5.jar"/> + <copy file="${env.TSK_HOME}/bindings/java/lib/sqlite-jdbc-3.8.11.jar" + tofile="${ext.dir}/sqlite-jdbc-3.8.11.jar"/> </target> - - - <target name="download-binlist" description="Download the din list data file used to enrich credit card numbers"> + <target name="download-binlist"> <get src="https://raw.githubusercontent.com/binlist/data/master/ranges.csv" dest="src\org\sleuthkit\autopsy\datamodel" ignoreerrors="true" verbose="true"/> </target> - <target name="init" depends="basic-init,files-init,build-init,-javac-init,init-ivy"> + + <target name="get-deps" depends="init-ivy,getTSKJars,get-thirdparty-dependencies,get-InternalPythonModules, download-binlist"> <mkdir dir="${ext.dir}"/> <copy file="${thirdparty.dir}/LICENSE-2.0.txt" todir="${ext.dir}" /> <!-- fetch all the dependencies from Ivy and stick them in the right places --> <ivy:resolve/> - <ivy:retrieve conf="core" sync="true" pattern="release/modules/ext/[artifact]-[revision](-[classifier]).[ext]" /> - - <!-- get additional deps --> - <antcall target="getTSKJars" /> - <antcall target="get-thirdparty-dependencies" /> - <antcall target="get-InternalPythonModules"/> - - <!--Donwload the bin list used for credit card number enrichment--> - <antcall target="download-binlist" /> - </target> - - <target name="clean" depends="projectized-common.clean"> - <!--Override clean to delete jars, etc downloaded with Ivy + <ivy:retrieve conf="core" pattern="${ext.dir}/[artifact]-[revision](-[classifier]).[ext]" /> + </target> + + <target name="init" depends="get-deps,harness.init"/> + + <target name="clean" depends="projectized-common.clean"> + <!--Override clean to delete jars, etc downloaded with Ivy, or copied in from thirdparty folder. This way we don't end up with out-of-date/unneeded stuff in the installer--> - <mkdir dir="${release.dir}"/> - <delete includeemptydirs="true" > - <fileset dir="${release.dir}" includes="**/*"/> - </delete> + <delete dir="${basedir}/release/"/> </target> + </project> diff --git a/Core/ivy.xml b/Core/ivy.xml index dc7f58715a52ff9b94d13adee0a7572e1fb025d1..55468a600fdd6f6b7643e06c0221160f4ca0fd75 100644 --- a/Core/ivy.xml +++ b/Core/ivy.xml @@ -7,8 +7,6 @@ </configurations> <dependencies > <dependency conf="core->default" org="org.apache.activemq" name="activemq-all" rev="5.11.1"/> - - <dependency conf="core->default" org="org.apache.curator" name="curator-client" rev="2.8.0"/> <dependency conf="core->default" org="org.apache.curator" name="curator-framework" rev="2.8.0"/> <dependency conf="core->default" org="org.apache.curator" name="curator-recipes" rev="2.8.0"/> diff --git a/CoreLibs/build.xml b/CoreLibs/build.xml index 6188d5a60a5165cc3ea728a1c9f9038987c1af65..abafbf98489b4c644e98c8d04c6505696e75d624 100644 --- a/CoreLibs/build.xml +++ b/CoreLibs/build.xml @@ -5,18 +5,12 @@ <project name="org.sleuthkit.autopsy.corelibs" default="netbeans" basedir="." xmlns:ivy="antlib:org.apache.ivy.ant"> <description>Builds, tests, and runs the project org.sleuthkit.autopsy.corelibs.</description> <import file="nbproject/build-impl.xml"/> + <import file="../BootstrapIvy.xml"/> <property name="thirdparty.dir" value="${basedir}/../thirdparty" /> - <property name="lib.dir" value="release/modules/lib" /> + <property name="lib.dir" value="${basedir}/release/modules/lib" /> - - <property name="ivy.install.version" value="2.3.0-rc2" /> - <condition property="ivy.home" value="${env.IVY_HOME}"> - <isset property="env.IVY_HOME" /> - </condition> - <property name="ivy.home" value="${user.home}/.ant" /> - <property name="ivy.jar.dir" value="${ivy.home}/lib" /> - <property name="ivy.jar.file" value="${ivy.jar.dir}/ivy.jar" /> + <condition property="os.family" value="unix"> <os family="unix"/> @@ -29,42 +23,19 @@ </condition> <import file="build-${os.family}.xml"/> - <target name="download-ivy" unless="offline"> - <available file="${ivy.jar.file}" property="ivy.available"/> - <antcall target="-download-ivy" /> - </target> - - <target name="-download-ivy" unless="ivy.available"> - <mkdir dir="${ivy.jar.dir}"/> - <get src="http://repo2.maven.org/maven2/org/apache/ivy/ivy/${ivy.install.version}/ivy-${ivy.install.version}.jar" - dest="${ivy.jar.file}" usetimestamp="true"/> - </target> - - <!-- init-ivy will bootstrap Ivy if the user doesn't have it already --> - <target name="init-ivy" depends="download-ivy" unless="ivy.lib.path"> - <path id="ivy.lib.path"> - <fileset dir="${ivy.jar.dir}" includes="*.jar"/> - </path> - <taskdef resource="org/apache/ivy/ant/antlib.xml" - uri="antlib:org.apache.ivy.ant" classpathref="ivy.lib.path"/> - </target> - - <target name="retrieve-deps" description="retrieve dependencies using ivy" depends="init-ivy,build-native-libs"> + + <target name="get-deps" description="retrieve dependencies using ivy" depends="init-ivy,build-native-libs"> <ivy:settings file="ivysettings.xml" /> <ivy:resolve/> - <ivy:retrieve sync="false" pattern="release/modules/ext/[artifact]-[revision](-[classifier]).[ext]" /> + <ivy:retrieve pattern="${basedir}/release/modules/ext/[artifact]-[revision](-[classifier]).[ext]" /> </target> - <target name="init" depends="basic-init,files-init,build-init,-javac-init,init-ivy,retrieve-deps"> - <!-- overrode depends attribute --> - - </target> + <target name="init" depends="get-deps,harness.init"/> - <property name="ext.dir" value="release/modules/ext" /> <target name="clean" depends="projectized-common.clean"> <!--Override clean to delete jars, etc downloaded with Ivy, or copied in from thirdparty folder. This way we don't end up with out-of-date/unneeded stuff in the installer--> - <delete dir="${ext.dir}"/> + <delete dir="${basedir}/release"/> </target> </project> diff --git a/Experimental/build.xml b/Experimental/build.xml index da231a09fc0a83a1707961f30c9b8467e616f919..b13b9ca77720a9acbcb12a396d86edc23ef9e1f2 100644 --- a/Experimental/build.xml +++ b/Experimental/build.xml @@ -6,20 +6,17 @@ <description>Builds, tests, and runs the project org.sleuthkit.autopsy.experimental.</description> <import file="nbproject/build-impl.xml"/> <import file="../BootstrapIvy.xml"/> - <property name="release.dir" value="${basedir}/release" /> <target name="init" depends="basic-init,files-init,build-init,-javac-init,init-ivy"> <ivy:settings file="ivysettings.xml" /> <ivy:resolve/> - <ivy:retrieve sync="false" pattern="${release.dir}/modules/ext/[artifact]-[revision](-[classifier]).[ext]" /> + <ivy:retrieve sync="false" pattern="${basedir}/release/modules/ext/[artifact]-[revision](-[classifier]).[ext]" /> </target> <target name="clean" depends="projectized-common.clean"> <!--Override clean to delete jars, etc downloaded with Ivy or copied in from thirdparty folder. This way we don't end up with out-of-date/unneeded stuff in the installer--> - <mkdir dir="${release.dir}"/> - <delete includeemptydirs="true"> - <fileset dir="${release.dir}" includes="**/*"/> - </delete> + <mkdir dir="${basedir}/release"/> + <delete dir="${basedir}/release"/> </target> </project> diff --git a/KeywordSearch/build.xml b/KeywordSearch/build.xml index 7789af8f1644d07589029cdade01a9d1943b3877..73b124f2a6e1de9d7ba5b8b9e2a925b7b298f035 100644 --- a/KeywordSearch/build.xml +++ b/KeywordSearch/build.xml @@ -7,44 +7,40 @@ <import file="nbproject/build-impl.xml"/> <import file="../BootstrapIvy.xml"/> - <property name="release.dir" value="release" /> <target name="get-solr-deployment" description="copy the solr deployment into release"> - <copy todir="${release.dir}/solr" > + <copy todir="${basedir}/release/solr" > <fileset dir="solr"/> </copy> </target> <target name="get-solr-upgrader-jars" description="copy the solr index upgrader jars into release"> <copy file="SolrUpgradeTools/Solr4IndexUpgrade.jar" - todir="${release.dir}/Solr4to5IndexUpgrade" /> + todir="${basedir}/release/Solr4to5IndexUpgrade" /> <copy file="SolrUpgradeTools/Solr5IndexUpgrade.jar" - todir="${release.dir}/Solr5to6IndexUpgrade" /> + todir="${basedir}/release/Solr5to6IndexUpgrade" /> </target> - <target name="init" depends="basic-init,files-init,build-init,-javac-init,init-ivy"> - <!-- fetch all the dependencies from Ivy and stick them in the right places --> + <target name="get-deps" depends="init-ivy, get-solr-deployment,get-solr-upgrader-jars"> + <!-- fetch all the dependencies from Ivy and stick them in the right places --> <ivy:resolve/> - <ivy:retrieve conf="autopsy" sync="true" pattern="release/modules/ext/[artifact]-[revision](-[classifier]).[ext]" /> - <ivy:retrieve conf="jetty-libs" sync="true" pattern="release/solr/lib/[artifact]-[revision](-[classifier]).[ext]" /> - <ivy:retrieve conf="solr-libs" sync="true" pattern="release/solr/solr/lib/[artifact]-[revision](-[classifier]).[ext]" /> - <ivy:retrieve conf="slf4j-libs" sync="true" pattern="release/solr/lib/ext/[artifact]-[revision](-[classifier]).[ext]" /> - <ivy:retrieve conf="servlet" sync="true" pattern="release/solr/lib/servlet-api-3.0.jar" /> - <ivy:retrieve conf="solr4to5" sync="true" pattern="release/Solr4to5IndexUpgrade/lib/[artifact]-[revision](-[classifier]).[ext]" /> - <ivy:retrieve conf="solr5to6" sync="true" pattern="release/Solr5to6IndexUpgrade/lib/[artifact]-[revision](-[classifier]).[ext]" /> - - <!--Copy Solr deployment and tools that arn't downloaded with Ivy--> - <antcall target="get-solr-deployment" /> - <antcall target="get-solr-upgrader-jars" /> + <ivy:retrieve conf="autopsy" pattern="${basedir}/release/modules/ext/[artifact]-[revision](-[classifier]).[ext]" /> + <ivy:retrieve conf="jetty-libs" pattern="${basedir}/release/solr/lib/[artifact]-[revision](-[classifier]).[ext]" /> + <ivy:retrieve conf="solr-libs" pattern="${basedir}/release/solr/solr/lib/[artifact]-[revision](-[classifier]).[ext]" /> + <ivy:retrieve conf="slf4j-libs" pattern="${basedir}/release/solr/lib/ext/[artifact]-[revision](-[classifier]).[ext]" /> + <ivy:retrieve conf="servlet" pattern="${basedir}/release/solr/lib/servlet-api-3.0.jar" /> + <ivy:retrieve conf="solr4to5" pattern="${basedir}/release/Solr4to5IndexUpgrade/lib/[artifact]-[revision](-[classifier]).[ext]" /> + <ivy:retrieve conf="solr5to6" pattern="${basedir}/release/Solr5to6IndexUpgrade/lib/[artifact]-[revision](-[classifier]).[ext]" /> </target> + + <target name="init" depends="get-deps, harness.init"/> + <target name="clean" depends="projectized-common.clean"> <!--Override clean to delete jars, etc downloaded with Ivy or copied in from thirdparty folder. This way we don't end up with out-of-date/unneeded stuff in the installer--> - <delete includeemptydirs="true"> - <fileset dir="release" includes="**/*"/> - </delete> + <delete dir="${basedir}/release"/> </target> <target name="clean-all" depends="clean" description="Clear Ivy cache."> diff --git a/thunderbirdparser/build.xml b/thunderbirdparser/build.xml index 6199b4170500b71a431058eaf38f6c0a959cad65..80c452ef3199c40c8520fe716c5379a0121ace18 100644 --- a/thunderbirdparser/build.xml +++ b/thunderbirdparser/build.xml @@ -5,36 +5,8 @@ <project name="org.sleuthkit.autopsy.thunderbirdparser" default="netbeans" basedir="." xmlns:ivy="antlib:org.apache.ivy.ant"> <description>Builds, tests, and runs the project org.sleuthkit.autopsy.thunderbirdparser.</description> <import file="nbproject/build-impl.xml"/> - - <property name="ivy.install.version" value="2.3.0-rc2" /> - <condition property="ivy.home" value="${env.IVY_HOME}"> - <isset property="env.IVY_HOME" /> - </condition> - <property name="ivy.home" value="${user.home}/.ant" /> - <property name="ivy.jar.dir" value="${ivy.home}/lib" /> - <property name="ivy.jar.file" value="${ivy.jar.dir}/ivy.jar" /> - - <target name="download-ivy" unless="offline"> - <available file="${ivy.jar.file}" property="ivy.available"/> - <antcall target="-download-ivy" /> - </target> - - <target name="-download-ivy" unless="ivy.available"> - <mkdir dir="${ivy.jar.dir}"/> - <get src="http://repo2.maven.org/maven2/org/apache/ivy/ivy/${ivy.install.version}/ivy-${ivy.install.version}.jar" - dest="${ivy.jar.file}" usetimestamp="true"/> - </target> - - <!-- init-ivy will bootstrap Ivy if the user doesn't have it already --> - <target name="init-ivy" depends="download-ivy" unless="ivy.lib.path"> - <path id="ivy.lib.path"> - <fileset dir="${ivy.jar.dir}" includes="*.jar"/> - </path> - <taskdef resource="org/apache/ivy/ant/antlib.xml" - uri="antlib:org.apache.ivy.ant" classpathref="ivy.lib.path"/> - </target> - - + <import file="../BootstrapIvy.xml"/> + <property name="thirdparty.dir" value="${basedir}/../thirdparty" /> <property name="ext.dir" value="release/modules/ext" /> @@ -50,13 +22,12 @@ <copy file="${thirdparty.dir}/java-libpst/java-libpst-1.0-SNAPSHOT.jar" todir="${ext.dir}" /> </target> - <target name="init" depends="basic-init,files-init,build-init,-javac-init,init-ivy"> + <target name="get-deps" depends="init-ivy, get-thirdparty-jars"> <!-- fetch all the dependencies from Ivy and stick them in the right places --> <ivy:resolve/> - <ivy:retrieve conf="autopsy" sync="true" pattern="release/modules/ext/[artifact]-[revision](-[classifier]).[ext]" /> - - <!-- copy jars not downloaded with Ivy --> - <antcall target="get-thirdparty-jars"/> + <ivy:retrieve conf="autopsy" pattern="release/modules/ext/[artifact]-[revision](-[classifier]).[ext]" /> </target> + + <target name="init" depends="get-deps,harness.init"/> </project>