Skip to content
Snippets Groups Projects
Commit 0b3a6f93 authored by iwakeh's avatar iwakeh :palm_tree:
Browse files

Use metrics-base as build environment.

The task 'war' creates a war-file for deployment in tomcat (as before),
the 'run' task is gone, and 'jar' creates an executable jar with main
class ExoneraTorDatabaseImporter as well as the source and javadoc jars.

Removed obsolete shell script.

Coverage is really low, but increasing it wasn't part of this task.

Implements task-21145.
parent cf18da90
Branches
Tags
No related merge requests found
Showing with 78 additions and 150 deletions
[submodule "src/build"]
path = src/build
url = https://git.torproject.org/metrics-base.git
<project default="run" name="exonerator" basedir=".">
<?xml version="1.0"?>
<!-- Define build paths. -->
<property name="sources" value="src/main/java"/>
<property name="resources" value="src/main/resources"/>
<property name="webapp" value="src/main/webapp"/>
<property name="generated" value="generated/"/>
<property name="classes" value="${generated}/classes"/>
<property name="testclasses" value="${generated}/testclasses/"/>
<property name="dist" value="${generated}/dist"/>
<property name="testresources" value="src/test/resources/"/>
<property name="testsources" value="src/test/java"/>
<property name="testresult" value="${generated}/test-results"/>
<property name="libs" value="lib"/>
<property name="webxmlfile" value="src/main/webapp/web.xml"/>
<property name="warfile" value="${dist}/exonerator.war"/>
<property name="source-and-target-java-version" value="1.8" />
<property name="metricslibversion" value="2.0.0" />
<patternset id="runtime" >
<include name="metrics-lib-${metricslibversion}.jar"/>
<include name="commons-compress-1.13.jar"/>
<!DOCTYPE project [
<!ENTITY base SYSTEM "src/build/java/base.xml">
]>
<project default="usage" name="exonerator" basedir=".">
<property name="javadoc-title" value="ExoneraTor API Documentation"/>
<property name="implementation-title" value="ExoneraTor" />
<property name="release.version" value="1.0.0-dev" />
<property name="metricslibversion" value="2.1.1" />
<property name="warfile"
value="exonerator-${release.version}.war"/>
<property name="name" value="exonerator"/>
<property name="project-main-class"
value="org.torproject.exonerator.ExoneraTorDatabaseImporter" />
<property name="additional2sign" value="${warfile}" />
<property name="tardepends" value="war" />
<!-- The coverage needs to be improved! -->
<target name="coverage-check">
<cobertura-check totallinerate="9" totalbranchrate="7" >
<!-- example regexes
<regex pattern="org.torproject.abc.xyz.*"
branchrate="87" linerate="73"/>
-->
</cobertura-check>
</target>
<patternset id="common" >
<include name="commons-codec-1.10.jar"/>
<include name="commons-lang3-3.5.jar"/>
<include name="gson-2.4.jar" />
<include name="postgresql-9.4.1212.jar"/>
<include name="slf4j-api-1.7.22.jar"/>
</patternset>
<patternset id="library" >
<patternset refid="common" />
<include name="metrics-lib-${metricslibversion}.jar"/>
<include name="commons-compress-1.13.jar"/>
<include name="servlet-api-3.0.jar"/>
<include name="logback-core-1.1.9.jar" />
<include name="logback-classic-1.1.9.jar" />
<include name="slf4j-api-1.7.22.jar"/>
<include name="xz-1.6.jar"/>
</patternset>
<path id="classpath">
<pathelement path="${classes}"/>
<fileset dir="${libs}">
<patternset refid="runtime" />
</fileset>
</path>
<path id="test.classpath">
<pathelement path="${classes}"/>
<pathelement path="${resources}"/>
<pathelement path="${testclasses}"/>
<pathelement path="${testresources}"/>
<fileset dir="${libs}">
<patternset refid="runtime" />
</fileset>
<fileset dir="${libs}">
<include name="junit4-4.12.jar"/>
<include name="hamcrest-all-1.3.jar"/>
</fileset>
</path>
<path id="checkstyle.classpath" >
<fileset dir="${libs}">
<include name="checkstyle-6.17-all.jar" />
</fileset>
</path>
<target name="clean">
<delete includeEmptyDirs="true" quiet="true">
<fileset dir="${generated}" defaultexcludes="false" includes="**" />
</delete>
</target>
<target name="init">
<copy file="${resources}/config" tofile="${basedir}/config"/>
<mkdir dir="${classes}"/>
<mkdir dir="${testclasses}"/>
<mkdir dir="${dist}"/>
</target>
<!-- Compile all servlets and plain Java classes. -->
<target name="compile" depends="init">
<javac destdir="${classes}"
srcdir="${sources}"
source="${source-and-target-java-version}"
target="${source-and-target-java-version}"
debug="true"
deprecation="true"
optimize="false"
failonerror="true"
includeantruntime="false">
<classpath refid="classpath"/>
</javac>
</target>
<target name="testcompile" depends="init">
<javac destdir="${testclasses}"
srcdir="${testsources}"
source="${source-and-target-java-version}"
target="${source-and-target-java-version}"
debug="true"
deprecation="true"
optimize="false"
failonerror="true"
includeantruntime="false">
<classpath refid="test.classpath"/>
</javac>
</target>
<target name="test" depends="compile,testcompile">
<junit fork="true"
haltonfailure="true"
printsummary="on">
<classpath refid="test.classpath"/>
<formatter type="plain" usefile="false"/>
<batchtest>
<fileset dir="${testclasses}"
includes="**/*Test.class"/>
</batchtest>
</junit>
</target>
<!-- Import descriptors into the ExoneraTor database. -->
<target name="run" depends="compile">
<java fork="true"
maxmemory="2048m"
classname="org.torproject.exonerator.ExoneraTorDatabaseImporter">
<classpath refid="classpath"/>
</java>
</target>
<patternset id="web" >
<patternset refid="common" />
</patternset>
<taskdef resource="com/puppycrawl/tools/checkstyle/ant/checkstyle-ant-task.properties">
<classpath refid="checkstyle.classpath" />
</taskdef>
<target name="checks" depends="compile">
<checkstyle config="${testresources}/metrics_checks.xml">
<fileset dir="${sources}"
includes="**/*.java" />
<fileset dir="${testsources}"
includes="**/*.java" />
<classpath>
<path refid="classpath" />
<path refid="checkstyle.classpath" />
</classpath>
<formatter type="plain"
toFile="${generated}/checkstyle_report.txt"/>
</checkstyle>
<exec executable="cat" outputproperty="checkstyle.result">
<arg value="${generated}/checkstyle_report.txt" />
</exec>
<fail message="Checkstyle complaints: ${checkstyle.result}" >
<condition>
<not>
<length string="${checkstyle.result}"
length="29" />
</not>
</condition>
</fail>
</target>
<patternset id="runtime" >
<patternset refid="library" />
</patternset>
<!-- Create a .war file for deployment. -->
<target name="war"
depends="compile">
<war destfile="${warfile}"
webxml="${webxmlfile}">
<fileset dir="${webapp}" includes="css/* images/* WEB-INF/*"/>
<war destfile="${dist}/${warfile}"
webxml="${resources}/web.xml">
<zipfileset dir="${resources}/web"
prefix=""
includes="css/* images/*"/>
<zipfileset dir="${resources}/web/jsps"
prefix="WEB-INF"
includes="*.jsp"/>
<lib dir="${libs}">
<include name="commons-codec-1.10.jar"/>
<include name="commons-lang3-3.5.jar"/>
<include name="gson-2.4.jar" />
<include name="postgresql-9.4.1212.jar"/>
<include name="slf4j-api-1.7.22.jar"/>
<patternset refid="web" />
</lib>
<classes dir="${classes}"/>
<zipfileset dir="${resources}"
prefix="WEB-INF/classes"
excludes="config **/db/* db" />
<metainf dir="${webapp}"
includes="*.properties" />
<metainf dir="${resources}"
includes="context.xml"/>
</war>
</target>
<!-- The following line adds the common targets and properties
for Metrics' Java Projects.
-->
&base;
</project>
#!/bin/bash
ant run | grep "\[java\]"
build @ 4b34756d
Subproject commit 4b34756ddd71ccaf0fc30e5f5bf0a813a297d4a3
#!/bin/sh
#
# Copyright 2016--2017 The Tor Project
# See LICENSE for licensing information
#
# Use for submodule initialization and checkout.
# Only necessary after very first checkout without recursion.
#
git submodule update --init --remote
File moved
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment