Mark Combellack wrote:
On 24/05/10 12:37, Simon Nash wrote:
Luciano Resende wrote:
On Sun, May 23, 2010 at 1:52 PM, Raymond Feng <[email protected]>
wrote:
I tried to run the build on Windows and everything works.
For the Mac OS issue, I ran a build from the root first and I don't see
anything copied into binaries/target. Then I tried to run the build
again
from binaries/ and binaries/bundle. None of them helped.
I saw the message:
[INFO] Copying files to
/Users/rfeng/Projects/tuscany/sca-java-1.x/tags/travelsample-1.0-RC1/binaries/target/.
But there is nothing under binaries (not even the target folder).
I found out that the "binaries/target" folder is not created by
maven during
the build on Mac. If I create it manually, then the build successfully
copies all the files into binaries/target. So a quick workaround is to
create binaries/target as part of the build.
Thanks,
Raymond
I tried building from the tag, and I'm experiencing the same behavior
(in the same Mac OS environment). I have played with some of the
assembly files trying to fix but didn't seem to find any obvious
solution...
This might a bit tricky for me to debug as I don't have access to Mac
OSX.
I'd be interested to know if the problem is specific to Mac OSX or also
affect other Linux OSs. Could anyone try this?
I'm also interested to know which version of maven is producing the
failure. I'm using maven 2.0.10.
The output directory is set to "../target" in the pom.xml for
binaries/bundle
using the <outputDirectory> element of the maven-assembly-plugin
configuration.
There's similar code in the pom.xml files for binaries/jaxws,
binaries/ode
and binaries/openejb. For some reason on Mac OSX the maven assembly
plugin
isn't creating this "../target" directory.
Some suggestions:
1. In the pom.xml for binaries/bundle, force the creation of the
"../target"
directory by replacing the current maven-antrun-plugin <plugin>
section
by the following:
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>package-mkdir</id>
<phase>package</phase>
<configuration>
<tasks>
<mkdir dir="../target"/>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
<execution>
<id>install-delete</id>
<phase>install</phase>
<configuration>
<tasks>
<delete dir="../target/domainconfig/META-INF"
includeemptydirs="true"/>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
This works for me on Windows and forces explicit creation of the
directory.
The build output is as follows:
[INFO] Scanning for projects...
[INFO] Reactor build order:
[INFO] Apache Tuscany SCA Tours Binaries Bundle
[INFO] Apache Tuscany SCA Tours Binaries JAX-WS Dependencies for
JDK 5
[INFO] Apache Tuscany SCA Tours Binaries ODE Database
[INFO] Apache Tuscany SCA Tours Binaries OpenEJB Dependencies
[INFO] Apache Tuscany SCA Tours Binaries
[INFO]
------------------------------------------------------------------------
[INFO] Building Apache Tuscany SCA Tours Binaries Bundle
[INFO] task-segment: [install]
[INFO]
------------------------------------------------------------------------
[INFO] [site:attach-descriptor]
[INFO] [antrun:run {execution: package-mkdir}]
[INFO] Executing tasks
[mkdir] Created dir: E:\td\book\rel\travelsample\binaries\target
[INFO] Executed tasks
[INFO] [assembly:single {execution: distribution-package}]
[INFO] Reading assembly descriptor: ../src/main/assembly/bin.xml
[INFO] Processing DependencySet (output=util)
...etc.
I have placed a version of this file in my
people.apache.org/~nash/tuscany/
directory as travelsample-binaries-bundle-pom-patch.xml. Could
someone try
replacing the binaries/bundle pom.xml from the distribution by this
version
before running the top-level build of travelsample on Mac OSX to
see if this
fixes the problem?
2. Instead of using <outputDirectory>../target</outputDirectory> in the
maven-assembly-plugin configurations, use
<directory>../target</directory>
within the <profile> <build> configurations in all of the pom.xml
files
for the "binaries" subdirectories. I don't like this as much as
option 1
because it's a more extensive change and it also has the unfortunate
side effect of polluting the binaries/target directory by creating an
empty archive-tmp directory there.
Simon
I have just tried this on Ubuntu with a clean checkout of the tag and an
empty Maven repository. I also do not have any files in the
binaries/target directories
What I do get is the following:
[INFO]
------------------------------------------------------------------------
[INFO] Building Apache Tuscany SCA Tours Binaries JAX-WS Dependencies
for JDK 5
[INFO] task-segment: [clean, install]
[INFO]
------------------------------------------------------------------------
[INFO] [clean:clean {execution: default-clean}]
[INFO] [site:attach-descriptor {execution: default-attach-descriptor}]
[INFO] [assembly:single {execution: distribution-package}]
[INFO] Reading assembly descriptor: ../src/main/assembly/bin-jaxws.xml
*[INFO] Copying files to
/home/mark/dev/apache/travelsample-1.0-RC1/binaries/target/.
[WARNING] Assembly file:
/home/mark/dev/apache/travelsample-1.0-RC1/binaries/target/. is not a
regular file (it may be a directory). It cannot be attached to the
project build for installation or deployment.
*[INFO] [install:install {execution: default-install}]
[INFO] Installing
/home/mark/dev/apache/travelsample-1.0-RC1/binaries/jaxws/pom.xml to
/home/mark/.m2/repository/org/apache/tuscany/sca/scatours-binaries-jaxws/1.0/scatours-binaries-jaxws-1.0.pom
Notice the warning about binaries/target/. not being a regular file.
Thanks for looking at this. I see this warning message on my Windows
build and it desn't seem to cause any problems.
Simon
This happens for each of the binaries module builds
I am using Maven 2.2.1 with Sun JDK 1.6.0_20 on Ubuntu 10.04.
I've not yet had a chance to look into how I might fix it.
Mark