[
https://issues.apache.org/jira/browse/AVRO-716?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Scott Carey updated AVRO-716:
-----------------------------
Attachment: AVRO-716.v1.patch
this patch addressed remaining build integration:
* In lang/java/ it changes the pom.xml files to have a 'release' profile for
building javadoc and source jars. To build these, add the command line
argument '-P release' to a maven command that completes at least the 'package'
build phase.
* In lang/java/ it adds an 'interop-data-test' profile that changes the
behavior or 'mvn test' to execute only the interop data tests.
* Moves the interop test out from an inner class to its own class.
* Creates a jar artifact from the 'core' project tests for use by downstream
projects to avoid duplicating RandomData and AvroTestUtil.
* Adds a couple missing apache license headers.
* Enables RAT on the top level. This is done by using maven to call the RAT
ant task. An associated pom.xml is now at the root of the project. This was
easier than using ant + ivy to fetch dependencies; the pom.xml is small. The
maven-rat-plugin did not seem to like to use the exclude file and had some
configuration bugs.
* share/rat-excludes.txt needed some minor changes. I think we might be able
to configure RAT to accept the many MIT licenses that cause it to fail rather
than excluding them later, but I did not try and figure that out.
* Modified build.sh and share/test/interop/bin/test_rpc_interop.sh for the
above features.
Notes:
# TestFileSpanStorage was failing for me about 2/3 of the time, I modified one
of its sleep calls to be 200ms instead of 100ms so that it passes consistently.
This test needs an overhaul later -- it should not sleep at all but instead
wait for signals. Sleeps in unit tests usually indicate that the API of the
things being tested are not complete and need methods to await asynchronous
completion of tasks.
# build.sh uses the bash subscript style extensively. This breaks the '-e'
fail-on-error policy with bash 3.x For example:
{noformat}set -e; echo start; (exit 1); echo never;{noformat}
prints both 'start' and 'never' for me. On bash 4.x it would not print 'never'.
Essentially, the error result of the subscript does not trigger the -e
handling for all users. We might have to change it to avoid subshells or
manually check $? after each one. I did not address that here, but several
commands I modified are not in a subscript.
> New Java build: integrate with parent build and remove cruft
> ------------------------------------------------------------
>
> Key: AVRO-716
> URL: https://issues.apache.org/jira/browse/AVRO-716
> Project: Avro
> Issue Type: Task
> Components: build, java
> Reporter: Scott Carey
> Assignee: Scott Carey
> Priority: Blocker
> Fix For: 1.5.0
>
> Attachments: AVRO-716.v1.patch
>
>
> We have legacy ant and ivy items in lang/java that need to be removed or
> reduced.
> 'ant clean' 'and compile' and 'ant test' can simply forward to maven, we
> might still want to have ant drive interop tests, and it is useful to have
> ant around as a tool.
> Additionally, buildbot currently fails and build.sh from the top level does
> not properly build Java.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.