qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robbie Gemmell (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (QPID-5048) [Java] Implement a Maven 3 build system
Date Thu, 27 Feb 2014 10:48:20 GMT

    [ https://issues.apache.org/jira/browse/QPID-5048?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13914367#comment-13914367
] 

Robbie Gemmell commented on QPID-5048:
--------------------------------------

You have already done some of these since I've been slipping you secret info across the desk,
but since I typed them :P

- First thing I tried to do failed:  mvn clean package site -Denable=true -DskipTests=true
{noformat}
[INFO] Qpid Java Test Parent ............................. FAILURE [1.638s]
[INFO] Qpid Test Utilities ............................... SKIPPED
....
[ERROR] Failed to execute goal on project qpid-java-test: Could not resolve dependencies for
project org.apache.qpid:qpid-java-test:pom:0.28-SNAPSHOT: Could not find artifact org.apache.qpid:qpid-test-utils:jar:0.28-SNAPSHOT
in XXX
{noformat}
- The licensing stuff being in an 'activeByDefault' profile means it wont happen if someone
specifies a specific maven profile to use.
- As discussed, renaming qpid-java-tests to qpid-systessts-parent and dropping qpid-test-utils
being its child.
- By using the ServiceMix bundled BCEL, does it still have any dependencies? (we seem to have
been excluding some, which we might not have to now if it has bundled them)
- As they are now relying on a parent with the release version of the components (rather than
an independent parent version), can we remove the version from all the modules again?
- The NOTICE file changes only use 2012 rather than 2014.
- The LICENCE file needs to point at the other licences, even if those are in another file
(like THIRDPARTY), and we need the actual licence rather than just indicating the name.
- If we aren't creating the 'spawn' profiles, then the perftests module may not need to explode
the broker artifact as I don't recall it starting multiple brokers.
- The licence stuff is pretty slow, so we will need to look at how to make its use faster
while retaining the nice ability to check the dependencies for conformance.

For qpid-parent:
- This should live up a couple levels, alongside the top level qpid/jms/proton/dispatch dirs.
- We should probably group the dependencyManagement and property definitions for the non-ALv2
dependencies of the optional modules to make them stand out a little, make them easier to
see/find later. (This probably applies to where we use those deps too).


> [Java] Implement a Maven 3 build system 
> ----------------------------------------
>
>                 Key: QPID-5048
>                 URL: https://issues.apache.org/jira/browse/QPID-5048
>             Project: Qpid
>          Issue Type: Task
>          Components: Build Tools
>            Reporter: Rob Godfrey
>            Assignee: Robbie Gemmell
>         Attachments: 0001-QPID-5048-Maven-POM-refactoring-names-descriptions-d.patch,
0001-QPID-5048-Maven-enahancements-to-restructure-POM-hie.patch, 0001-QPID-5048-Moved-slf4j-deps-to-test-utils-to-workarou.patch,
0002-QPID-5048-Logging-dependency-and-configuration-tidy-.patch, 0003-QPID-5048-logging-and-build-output-cleanup.patch
>
>
> Implement a Maven build system which generates the same artefacts as the current ant
based build.  
> See: https://cwiki.apache.org/confluence/display/qpid/Java+Build+System
> TO DO
> - Add the Excludes files, log4j config, etc test resources to a module (qpid-test-utils?)
which can be
>   used (extracted?) by the others to prevent them having to reference outside their directly
for the files.
> - Fix what the systests/perftests do to copy the test-profiles dir to the necessary location.
> - Test deploying the modules to a local Nexus instance (by overriding the repo properties
locally).
> - Ensure we dont deploy modules we aren't already doing so, it will make changing them
later less of a pain for everyone.
> - Add the other test profiles, e.g. derby and other protocols.
> - Generate HTML reports of the test results
> - Decide on how to handle the surefire report target re-running the tests (there is a
report-only task that doesnt, provided as a workaround)
> - Add LICENCE, NOTICE, README files to the binary assemblies.
> - Align the XML in the pom files consistently, fix whitepsace errors.
> === Once the Ant build is removed ===
> - Move all the resources to be in the /src/foo/resources folders.
> - Make qpidversion.properties in common be a filtered resource instead of generated.
> - Get rid of the antrun-plugin execution in common, directly invoke the required java
elements.
> - Do the above in the generate-sources-common profile instead of current default config.
> - Get rid of the antrun-plugin execution in broker-core, directly invoke the required
java elements.
> - Fix the tests not to be dependant on the working dir being the java dir.
> - Fix the tests not to be dependant on the test config/output dirs being children of
qpid.home.
> - Remove the QBTC output file mechanics, rely on Surefire to do it?
> - JUnit test profiles instead of Exludes files?



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org


Mime
View raw message