gaob13 / kryo

Automatically exported from code.google.com/p/kryo
BSD 3-Clause "New" or "Revised" License
0 stars 0 forks source link

Maven repo #13

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
plz provide kryo as maven artifacts

Original issue reported on code.google.com by anightl on 25 Mar 2010 at 1:25

GoogleCodeExporter commented 9 years ago
I found this:
http://nexus.sonatype.org/oss-repository-hosting.html
Doing this is non-trivial. If you would like Kryo in a Maven repository, please 
go
ahead and create a POM and deploy it. I will agree to keep it up to date if 
given
instructions, provided doing so is relatively easy.

The same goes for minlog (where I'm also the author), which is used by Kryo:
http://code.google.com/p/minlog/

Original comment by nathan.s...@gmail.com on 30 Mar 2010 at 7:39

GoogleCodeExporter commented 9 years ago
Issue 14 has been merged into this issue.

Original comment by nathan.s...@gmail.com on 5 Apr 2010 at 7:19

GoogleCodeExporter commented 9 years ago
The workaround is to use kryo by installing it in the local repository.

You can do that using this script:
[code]
wget http://kryo.googlecode.com/files/kryo-1.01.zip -O /tmp/kryo-1.01.zip
unzip -o -d /tmp /tmp/kryo-1.01.zip
mvn install:install-file -Dfile=/tmp/minlog-1.2.jar 
-DgroupId=com.esotericsoftware -DartifactId=minlog -Dversion=1.2 
-Dpackaging=jar -DgeneratePom=true -DcreateChecksum=true
mvn install:install-file -Dfile=/tmp/reflectasm-0.8.jar 
-DgroupId=com.esotericsoftware -DartifactId=reflectasm -Dversion=0.8 
-Dpackaging=jar -DgeneratePom=true -DcreateChecksum=true
mvn install:install-file -Dfile=/tmp/kryo-1.01.jar 
-DgroupId=com.esotericsoftware -DartifactId=kryo -Dversion=1.01 -Dpackaging=jar 
-DgeneratePom=true -DcreateChecksum=true
[/code]

And add the following dependencies to your pom.xml:
[code]
<dependency>
    <groupId>asm</groupId>
    <artifactId>asm</artifactId>
    <version>3.2</version>
    <scope>runtime</scope>
</dependency>
<dependency>
    <groupId>com.esotericsoftware</groupId>
    <artifactId>kryo</artifactId>
    <version>1.01</version>
    <scope>compile</scope>
</dependency>
<dependency>
    <groupId>com.esotericsoftware</groupId>
    <artifactId>reflectasm</artifactId>
    <version>0.8</version>
    <scope>runtime</scope>
</dependency>
<dependency>
    <groupId>com.esotericsoftware</groupId>
    <artifactId>minlog</artifactId>
    <version>1.2</version>
    <scope>runtime</scope>
</dependency>
[/code]

If maven doesn't find asm, add this repository:
[code]
<repository>
    <id>OW2 Repo</id>
    <url>http://maven.ow2.org/maven2</url>
    <name>OW2 Repo</name>
</repository>
[/code]

Original comment by vincas.m...@gmail.com on 20 Jul 2010 at 11:16

GoogleCodeExporter commented 9 years ago
Leaving this issue open as low priority until someone takes ownership of 
deploying to a public Maven repo.

Original comment by nathan.s...@gmail.com on 13 Aug 2010 at 9:56

GoogleCodeExporter commented 9 years ago

Original comment by nathan.s...@gmail.com on 13 Aug 2010 at 9:57

GoogleCodeExporter commented 9 years ago
Just stumbled over this, might be helpful:
http://theholyjava.wordpress.com/2010/02/07/releasing-a-project-to-maven-centr/

Original comment by martin.grotzke on 25 Aug 2010 at 9:39

GoogleCodeExporter commented 9 years ago
Yeah, that is WAY more effort than I'm willing to exert. It really shouldn't be 
that hard!

On a related note, my OSS project "Scar" was completed last week:
http://code.google.com/p/scar/
Scar is a simple build system. All my OSS projects (kryo, kryonet, minlog, 
reflactasm, etc) can easily be built with it. If Scar got Maven support, maybe 
then I'd bother signing up with Sonatype, filing tickets, etc.

Original comment by nathan.s...@gmail.com on 25 Aug 2010 at 9:48

GoogleCodeExporter commented 9 years ago
Hi,

I set up a maven repo on github with a few of nathans projects. along with the 
mavenized versions of these projects.

<repositories>
  <repository>
    <id>wordrak</id>
    <url>http://wordrak.github.com/repo</url>
  </repository>
</repositories>

Original comment by word...@gmail.com on 16 Feb 2011 at 10:18

GoogleCodeExporter commented 9 years ago
wordrak, can you clarify exactly what dependencies are in your repository?  In 
other words, what exactly should I put in my .pom to use them?

Original comment by ian.clarke on 20 Feb 2011 at 5:38

GoogleCodeExporter commented 9 years ago
Oh, you cnat see what's in it. Sorry for that.

At the moment there are minilog, reflectasm, kryo and kryonet in it.

pom-snippets:

<dependency>
  <groupId>com.esotericsoftware</groupId>
  <artifactId>minilog</artifactId>
  <version>1.2</version>
</dependency>
<dependency>
  <groupId>com.esotericsoftware</groupId>
  <artifactId>reflectasm</artifactId>
  <version>1.01</version>
</dependency>
<dependency>
  <groupId>com.esotericsoftware</groupId>
  <artifactId>kryo</artifactId>
  <version>1.04</version>
</dependency>
<dependency>
   <groupId>com.esotericsoftware</groupId>
   <artifactId>kryonet</artifactId>
   <version>1.04</version>
</dependency>

You can look inside the repo at this URL:
https://github.com/wordrak/repo

Original comment by word...@gmail.com on 21 Feb 2011 at 6:56

GoogleCodeExporter commented 9 years ago
Hi Nathan,

I would be willing to file the ticket to get a Sonatype repo and stage Kyro 
releases from there to maven central on your behalf.

You would have to gpg-sign four files on each release: the main jar, -sources 
jar, -javadoc jar, and an up-to-date pom.xml.

I can bring pom.xml into compliance with maven central requirements, but you'd 
still have to increment the version number in pom.xml (and sign it) at release 
time.

What do you think?

Dan

Original comment by dal...@hopcount.org on 25 Feb 2011 at 2:26

GoogleCodeExporter commented 9 years ago
Yeah that would be great. Just let me know what you need from me.

Original comment by nathan.s...@gmail.com on 25 Feb 2011 at 9:15

GoogleCodeExporter commented 9 years ago
Current versions of minlog, reflectasm and kryo jars are now available in maven 
central, under the groupId com.googlecode:
http://repo2.maven.org/maven2/com/googlecode/reflectasm/
http://repo2.maven.org/maven2/com/googlecode/minlog/
http://repo2.maven.org/maven2/com/googlecode/kryo/

Cheers,
Martin

Original comment by martin.grotzke on 21 Apr 2011 at 8:19

GoogleCodeExporter commented 9 years ago
Hi Martin,

Thanks.  I had a Sonatype OSS repo and poms for those three, but got lazy 
signing artifacts and staging in.  This is great.

Dan

Original comment by dal...@hopcount.org on 22 Apr 2011 at 1:37

GoogleCodeExporter commented 9 years ago
Hi Dan,

as written on the mailing list 
(http://groups.google.com/group/kryo-users/browse_thread/thread/dfb083de199416f7
) the jars are uploaded as 3rd party artifacts only.

So when poms could make their way into reflectasm/minlog/kryo so that artifacts 
get deployed/staged/published on new releases this would still be great!

Cheers,
Martin

Original comment by martin.grotzke on 22 Apr 2011 at 2:03

GoogleCodeExporter commented 9 years ago
Hi Nathan,

I've staged MinLog, ReflectASM, and Kyro.  Here are the staging repos (in that 
order):

https://oss.sonatype.org/content/repositories/comesotericsoftware-005
https://oss.sonatype.org/content/repositories/comesotericsoftware-010
https://oss.sonatype.org/content/repositories/comesotericsoftware-011

Feedback welcome from anybody interested.

I staged each project under the groupId 
"com.esotericsoftware.$project_name_in_lower_case".  If you want that changed, 
then now is the least unpleasant time to do it.

It seems Sonatype doesn't care who signs uploaded files as long as the 
signatory is on the public keyservers.  I signed the jars and pom with my key 
(0x617B3B80) when staging.  You are certainly welcome to regenerate and sign 
everything personally.

Next steps:

1. Get you a Sonatype account with full control over staging.  You don't have 
to actually do anything, but we should nonetheless ensure that you have full 
access

2. Optionally, if you prefer to sign the jars & pom yourself, do so

3. I'll sync the staged repos into central

4. You'll commit my pom.xml files for Kyro, ReflectASM, and MinLog into svn

If that sounds OK, please get your account for #1: 
https://issues.sonatype.org/secure/Signup!default.jspa .  Please post your 
username and I'll open a ticket in the Sonatype JIRA asking Juven to match your 
access to mine.

Thanks for your patience.

Dan

Original comment by dal...@hopcount.org on 13 May 2011 at 8:44

GoogleCodeExporter commented 9 years ago
Regarding the new kryo v2 publishing to maven central is discussed again: 
http://groups.google.com/group/kryo-users/browse_thread/thread/57e6cc743cd0565a#
0b684005096183e4

Original comment by martin.grotzke on 31 Mar 2012 at 11:01

GoogleCodeExporter commented 9 years ago
Are there any news on this issue? It would be really nice, if Kryo and its deps 
would be available on any of central Maven repositories. It would make usage of 
Kryo by other projects much easier.

For example, I'd like to use it for implementing a custom serialization for 
Scala's Akka actors framework. But in its current form it is almost impossible 
due to lack of maven repositories for the latest Kryo.

Original comment by romixlev on 24 May 2012 at 11:47

GoogleCodeExporter commented 9 years ago
I can push the latest kryo version to maven central next week.

Original comment by martin.grotzke on 24 May 2012 at 12:10

GoogleCodeExporter commented 9 years ago
It amuses me that Maven seems popular, yet has so much trouble with non-Maven 
projects. I've used it but feel it is only worthwhile with large projects with 
many dependencies. Putting Kryo in a repo isn't a high priority since I don't 
make use of it. Hopefully Kryo users can take that over.

Original comment by nathan.s...@gmail.com on 24 May 2012 at 1:59

GoogleCodeExporter commented 9 years ago
@martin.grotzke: Thanks for looking into this issue! Is it possible to automate 
this process somehow, i.e. every time when there is a new release, a new 
version is published?

@nathan:

Below are my 2 cents on the topic ...

> It amuses me that Maven seems popular, yet has so much trouble with non-Maven 
> projects. 

Well, Maven is viral, i.e. it requires all other libs to be also mavenized and 
available in Maven repos, so that it can do its dependency resolution. This is 
very much the same approach as RPM or DEB packages and their repos in Linux 
world.

> I've used it but feel it is only worthwhile with large projects with many 
> dependencies. 

My experience is that it is also useful even for small projects. It does all 
the dependency resolution and downloading of artifacts for you. This is very 
automated and convenient! 

But some other important reasons are: it is a de-facto standard in many 
enterprise environments (so, you simply HAVE TO use it there) and it integrates 
very nicely with continuous build systems like Jenkins/Hudson and with some 
other automation tools. Plus, Maven repos are used as a basis for some other 
build systems like Ivy and SBT. Hence by supporting Maven and its repos one can 
reach a rather big users base.

Original comment by romixlev on 24 May 2012 at 3:04

GoogleCodeExporter commented 9 years ago
> Hence by supporting Maven and its repos one can reach a rather big users base.

I agree. Even though I don't personally use Maven, the real reason Kryo isn't 
in a Maven repo is because it is just too much of a pain. At one point I signed 
up for SonaType (my user name is "nates" BTW -- someone requested that above), 
but it was too much effort. You can read about some of it here:
https://code.google.com/p/yamlbeans/issues/detail?id=1

I've been keeping the POM files in SVN up to date. Someone just needs to do 
whatever silly dance is necessary for Maven users to leave me alone, er be 
happy. ;)

Original comment by nathan.s...@gmail.com on 24 May 2012 at 3:12

GoogleCodeExporter commented 9 years ago
> @martin.grotzke: Thanks for looking into this issue! Is it possible to 
automate this process somehow, i.e. every time when there is a new release, a 
new version is published?

I'd be also happy to have s.th. like this. Perhaps it could look like this: a 
jenkins deploy-to-maven-central job has a step that checks if the kryo version 
has changed in pom.xml and if that's not the case aborts the build, i.e. 
returns 1, whereas when version has changed 0 is returned so that the job 
continues with the deploy-to-maven-central-part.
This would be needed for reflectasm, minlog and kryo.

@nate: the reflectasm pom.xml still contains asm-3.3.1, while in lib asm-4.0 
exists. Can you update the reflectasm pom.xml? Is asm-4.0 really needed btw. or 
would it also work with e.g. 3.2?

Original comment by martin.grotzke on 24 May 2012 at 9:35

GoogleCodeExporter commented 9 years ago
ReflectASM POM updated, asm to 4.0. I don't know if it still works with 3.2, 
probably. I updated it because someone was using 4.0 and wanted to also use 
ReflectASM.

Original comment by nathan.s...@gmail.com on 25 May 2012 at 6:53

GoogleCodeExporter commented 9 years ago
Ok, thanx!

Original comment by martin.grotzke on 25 May 2012 at 7:55

GoogleCodeExporter commented 9 years ago
@martin.grotzke: 

> I can push the latest kryo version to maven central next week.
Any hope to get available in maven central this week? There are still 1.5 days 
to go ;-)

Original comment by romixlev on 31 May 2012 at 11:17

GoogleCodeExporter commented 9 years ago
Thanx for reminding :-)

I just uploaded kryo-2.10 (+ minlog-1.2 and reflectasm-1.03) to sonatype which 
is synced to maven central every 2? hours.

You can check artifacts right now here:
https://oss.sonatype.org/content/repositories/releases/com/esotericsoftware/kryo
/kryo/2.10/

Original comment by martin.grotzke on 31 May 2012 at 12:40

GoogleCodeExporter commented 9 years ago
@martin.grotzke: Works nicely! Thanks!

Original comment by romixlev on 31 May 2012 at 2:29

GoogleCodeExporter commented 9 years ago
After only 2 years, with great happiness, I declare this bug CLOSED! Thanks 
Martin!

Original comment by nathan.s...@gmail.com on 31 May 2012 at 7:42

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
You're right, it's not really available in maven central. No clue what's the 
reason for this, thus I submitted an issue at sonatype: 
https://issues.sonatype.org/browse/OSSRH-3673

Original comment by martin.grotzke on 4 Jun 2012 at 2:31

GoogleCodeExporter commented 9 years ago
Thanks!

Original comment by hebi...@gmail.com on 4 Jun 2012 at 2:32

GoogleCodeExporter commented 9 years ago
Sonatype still needed to activate sync to maven central, this is done now.

Original comment by martin.grotzke on 4 Jun 2012 at 7:37

GoogleCodeExporter commented 9 years ago
Could you please upload 2.12? Thanks :)

Original comment by hebi...@gmail.com on 7 Jun 2012 at 10:02

GoogleCodeExporter commented 9 years ago
Done, available in https://oss.sonatype.org/content/repositories/releases.

Sync to maven central runs every 2 hours.

Original comment by martin.grotzke on 7 Jun 2012 at 11:44

GoogleCodeExporter commented 9 years ago
Would it be possible to include kryonet in whatever process is in place right 
now?

http://code.google.com/p/kryonet/issues/detail?id=28

Original comment by tbaumeis...@gmail.com on 23 Dec 2012 at 6:01