ehh nice!
sounds like big progress there!
how the necessary linker options could be sensibly integrated into the POM
Maven profiles might be a solution there. a profile is basically an additional set of configuration for a project, which may be de-/activated in different ways: by default, depending on the host system, the JDK version, … and they can be de-/activated manually, eg on the command line or in the project properties in your IDE. So for example, you would have a VisualStudio and a GCC profile, activated depending on platform. that means, you could still manually activate GCC and deactivate VisualStudio, if you want to compile with MinGW under windows for example.
http://maven.apache.org/pom.html#Profiles
When you say that the native lib should be pre-compiled and integrated into a dedicated package, I hardly see a reason for adding the nar-plugin info into the POM. Do you think it would make sense to have two different POMs, one for the pure Java user, and one („advanced“ ) for those who also want to compile the native part on their own? For the latter, I think that a mixture of the above mentioned Environment variables, and possibly an XML file could solve most of the problems. As far as I understood, it should be possible to define parts of the POM specifically for the respective target operating system, where the POM is executed.
This is what i am also quite unsure about… as in… i just dont know what would be the best way. The best thing there is probably, looking at how other projects do that. for example, i know that JNA has java and native parts, is maven based, and works perfectly/seamlessly (when you use the lib through maven). if it is not possible to find out how exactly they do it by looking at their code, maybe asking in their forum/mailing-list would help. maybe the NAR plugin guy could help too. there is also some project/database that aims to collect a lot of native access java libs, and has quite some already… don’t remember how to get there though.
https://jna.dev.java.net/source/browse/jna/trunk/jnalib/
about 1. 2. and 3. … i guess is all true… can’t say much there.
src/test/java in maven (git does not have rules for a structure of java projects), is reserved for unit tests (JUnit), not sure if your tests are unit tests. but yes, all this stuff is usually in a single project in maven.
i do not know of what nature your experimental stuff is, but if it is possibly to be merged with stock JOCL one day, it should be in branches. that is the big pro of git, that branches are so nice to have, and when you get used to git, you’ll use them for everything.
in the nar plugin source, the guy uses src/it/ for samples. i think… i saw that elsewhere too… i don’t know how much of a standard that is, and what „it“ stands for. i would say src/samples/ is fine too.
generally sounds good
keep it rolling!
btw, i just found out that Neuroph depends on encog and your jocl lib (probably because of encog). as soon as you are ready with maven, i will probably bug them to adopt it too. prosperous times ahead!
btw2, i love not having to register on this forum!
btw3, it tells me though, that a cow has not 4 legs