ksh0929 / efficient-java-matrix-library

Automatically exported from code.google.com/p/efficient-java-matrix-library
0 stars 0 forks source link

Please upload to central maven repository. #14

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. Not possible to include ejml in maven projects which are to be uploaded in 
maven central repository.

Thanks.

Original issue reported on code.google.com by sorentan...@gmail.com on 28 Apr 2011 at 9:22

GoogleCodeExporter commented 8 years ago
Could you elaborate a bit more?  I haven't used Maven before so I'm not sure 
what you mean by uploading to the central repository.

Original comment by peter.ab...@gmail.com on 28 Apr 2011 at 11:05

GoogleCodeExporter commented 8 years ago
There is an (unfortunately quite long) guide here:
https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Usage
+Guide

You can view the full repository here:
http://repo1.maven.org/maven2/

Very short: Maven is a project/dependency management tool, it allows to define 
dependencies which are then automatically downloaded and included in your 
project. There is a central repository and many mirrors of it. Other tools such 
as Ivy can also use the maven repositories for dependency resolution.

In order to publish your library to the central repository, all your library's 
dependencies must also be available in the central repository. This means if 
ejml is not available there, then it is not possible for others to publish 
their software/libraries based on ejml in the central repository. (I think 
there are a few exceptions to this rule, but couldn't find any link for it).

Thanks.

Original comment by sorentan...@gmail.com on 29 Apr 2011 at 5:09

GoogleCodeExporter commented 8 years ago
Skimming through some of that documentation it looks like the initial setup 
might require a little bit of a learning curve but after that the maintenance 
would be minimal.  I'll take a closer look at this next week.  Thanks for 
pointing this out.

Original comment by peter.ab...@gmail.com on 29 Apr 2011 at 2:22

GoogleCodeExporter commented 8 years ago
I'm working on this ticket now.  Are you available to help getting Maven set up 
correctly? Running into what I suspect are several fairly simple issues that an 
experienced Maven user can probably figure out in two seconds.  

Original comment by peter.ab...@gmail.com on 20 May 2011 at 3:43

GoogleCodeExporter commented 8 years ago
A snapshot of the current SVN jar has been posted at the central repository.  
Since I can browse to it on NEXUS I'll assume everything is working unless I 
hear otherwise.  

Original comment by peter.ab...@gmail.com on 23 May 2011 at 6:20

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
Hi, which is the configuration for mvn?  <groupId>, <artifactId> and <version>?

I tried and got:

[ERROR] Failed to execute goal on project hnm_java: Could not resolve 
dependencies for project edu.salle.projects.lib:jar:1.0-SNAPSHOT: Could not 
find artifact EJML:ejml:jar:0.16 in central (http://repo1.maven.org/maven2) -> 
[Help 1]

Original comment by angel.ca...@gmail.com on 24 May 2011 at 9:29

GoogleCodeExporter commented 8 years ago
  <groupId>com.googlecode.efficient-java-matrix-library</groupId>
  <artifactId>ejml</artifactId>
  <packaging>jar</packaging>
  <version>SNAPSHOT</version>
  <name>Efficient Java Matrix Library</name>

Original comment by peter.ab...@gmail.com on 24 May 2011 at 1:15

GoogleCodeExporter commented 8 years ago
This does not seem to work. 
http://repo1.maven.org/maven2/com/googlecode/efficient-java-matrix-library does 
not exist.

As far as I know, you cannot upload SNAPSHOT versions to the central repo 
anyways. They have to be released versions (which in maven simply means there 
is no -SNAPSHOT and it can never be changed once uploaded).

You can confirm whether it works with a simple pom file like this:

<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0                                                                                
                             http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>maven-test</groupId>
    <artifactId>maven-test</artifactId>
    <name>${project.artifactId}</name>
    <version>1-SNAPSHOT</version>

    <dependencies>
        <!-- Module dependencies -->
        <dependency>
            <groupId>com.googlecode.efficient-java-matrix-library</groupId>
            <artifactId>ejml</artifactId>
            <version>0.18</version>
        </dependency>
    </dependencies>
</project>

Place that into a pom.xml, then run 'mvn package'. If it fails, you'll see a 
message like this: "Could not find artifact 
com.googlecode.efficient-java-matrix-library:ejml:jar:0.18".

Original comment by james.r...@gmail.com on 24 May 2011 at 8:13

GoogleCodeExporter commented 8 years ago
There is actually a section on staging snapshots at the website you linked to 
before.  The example pom file you posted works if you change the version tag to 
<version>SNAPSHOT</version>.  In addition it was double checked by compiling 
some code which referenced EJML and ran the jar file.

I did just stage the last release (version 0.16) but it hasn't appeared on 
nexus yet...

Original comment by peter.ab...@gmail.com on 25 May 2011 at 1:39

GoogleCodeExporter commented 8 years ago
Hi I tried with the following config in my pom.xml:

(···)
<dependencies>
 23 
 24     <dependency>
 25        <groupId>com.googlecode.efficient-java-matrix-library</groupId>
 26        <artifactId>ejml</artifactId>
 27        <version>SNAPSHOT</version>
 28     </dependency>
(···)

but when I do "mvn verify" and tries to download the dependencies it crashes in 
ejml:

[ERROR] Failed to execute goal on project my_project: Could not resolve 
dependencies for project edu.url.salle.gtm:my_project:jar:1.0-SNAPSHOT: Could 
not find artifact 
com.googlecode.efficient-java-matrix-library:ejml:jar:SNAPSHOT -> [Help 1]

If it compiles for you maybe is because you already have the dependency 
installed in your local repository ~/.m2/repository/  and so maven doesn't need 
to download the dependency. couldn't be that the case? have you tried to use 
the dependency without having ejml installed so maven has to actually download 
it?

or maybe it's me that I'm missing something in my pom.xml or settings.xml. I'm 
just willing to be able to use the ejml combined with maven. :P

Original comment by angel.ca...@gmail.com on 25 May 2011 at 1:48

GoogleCodeExporter commented 8 years ago
I did have the repositories cached locally from when I built them.  The problem 
was that I missed Step 9, which required me to post a comment to get synching 
activated at the central repository.  I'll let you know when synchronization 
has been activated.

Original comment by peter.ab...@gmail.com on 25 May 2011 at 3:51

GoogleCodeExporter commented 8 years ago
Version 0.16 is now in the central repository and that pom.xml works!  
Hopefully you will have no problems and I can close this ticket.

<version>0.16</version>

Original comment by peter.ab...@gmail.com on 26 May 2011 at 1:29

GoogleCodeExporter commented 8 years ago
Nice, I've been able to download the dependency, although not used it. I'm 
willing to test ejml for my project.  Lots of thanks for the maven upload. Very 
Nice!! :)

Original comment by angel.ca...@gmail.com on 26 May 2011 at 2:34

GoogleCodeExporter commented 8 years ago

Original comment by peter.ab...@gmail.com on 26 May 2011 at 4:04