It sounds like they belong in a separate project that includes the Cplex test sources, possibly with your test sources with a pom to compile and run tests with Cplex and a README about how to compile and test them in conjunction with your code. This should be used to produce a ZIP or TAR (or both).
The pom would include dependencies on your libraries.

Since you are not going to test them, there is not much point in having them in with your tests.

The maven rule (best practice) of one pom for one output artifact, often leads to simple solutions for these types of problems.

You might want to consider packaging your final deliverable using an installer that does the right thing when the sys admin wants to install with or without the Cplex option. This would take all of your artifacts and produce an installer. I use IzPack which is an open source product but other installers could probably do this in a simple way.

Ron

On 26/05/2015 8:22 PM, Joris Kinable wrote:
The files under
jorlib-core/src/test/java/org/jorlib/frameworks/columnGeneration/tsp
are a useful set of test classes, but unfortunately they rely on
a proprietary, expensive package called Cplex, whereas all the other test
classes are either self-contained or rely on open-source packages. I want
the sources of 
jorlib-core/src/test/java/org/jorlib/frameworks/columnGeneration/tsp
to be preserved, but I don't want to compile or run them. Anyone who
downloads the release still has access to these sources so if he/she owns
the Cplex package, he/she can manually perform these tests. However, if you
don't own this package, then you can still compile the code without running
into dependency issues.
Nevertheless, when I run: mvn compile, everything works great. However,
when I run mvn test or mvn package, maven tries to compile jorlib-core/src/
*test*/java/org/jorlib/frameworks/columnGeneration/tsp, even though I added
(and many various thereof):

<excludes>
<exclude>columnGeneration/tsp/**</exclude>
</excludes>

to:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<excludes>
   <exclude>columnGeneration/tsp/**</exclude>
</excludes>
</configuration>
</plugin>

Any suggestions are highly welcome!

Joris

On Tue, May 26, 2015 at 7:52 PM, Ron Wheeler <[email protected]
wrote:
Why are these sources in the project if they don't need to be compiled?
Are they really java sources?
If so, why don't they compile? If not, should they just be resources
rather than sources?

Ron


On 26/05/2015 5:27 PM, Joris Kinable wrote:

Dear,

I'm trying to set up my first maven project for my code which can be found
here:
https://github.com/jkinable/jorlib

I have 3 pom files:
https://github.com/jkinable/jorlib/blob/master/pom.xml
https://github.com/jkinable/jorlib/blob/master/jorlib-core/pom.xml
https://github.com/jkinable/jorlib/blob/master/jorlib-demo/pom.xml

I would like to exclude all files in the following directory from both
compilation and testing (but the sources need to be retained):
jorlib-core/src/test/java/org/jorlib/frameworks/columnGeneration/tsp

I've tried to include pretty much every <exclude> ... </exclude> pattern I
could think of to the following plugins:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
in https://github.com/jkinable/jorlib/blob/master/pom.xml


and

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <version>2.4</version>
    <configuration>
        <archive>


<manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
        </archive>
    </configuration>
</plugin>
in https://github.com/jkinable/jorlib/blob/master/jorlib-core/pom.xml

Yet "mvn package" keeps compiling (and crashing) on files in the directory
jorlib-core/src/test/java/org/jorlib/frameworks/columnGeneration/tsp
Any suggestions on how to solve this?

Thank you,

Joris


--
Ron Wheeler
President
Artifact Software Inc
email: [email protected]
skype: ronaldmwheeler
phone: 866-970-2435, ext 102


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]




--
Ron Wheeler
President
Artifact Software Inc
email: [email protected]
skype: ronaldmwheeler
phone: 866-970-2435, ext 102


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to