Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

Version 2.5.1 Not Available in Maven Central #31

Closed
Ardesco opened this Issue · 51 comments

9 participants

@Ardesco

It would be good to see the latest version up in maven central.

Version 2.11 of JMeter is using version 2.5.1 of RSyntaxArea and the dependency tree of the maven release is currently broken which is currently a blocker for version 1.10.0 of the JMeter Maven Plugin.

Any ETA for an upload?

@Ardesco Ardesco referenced this issue in jmeter-maven-plugin/jmeter-maven-plugin
Closed

JMeter 2.11 support #90

@oakes

Agreed; a maven upload of 2.5.1 would be great!

@bobbylight
Owner

As usual, we're behind with Maven, sorry. Looking into it now!

@Ardesco

Any update on this? There's still nothing in maven central.

@shadidchowdhury

Yeah it will be really good if you upload v 2.5.1 to a maven repository.

@Ardesco

This defect has now been open for 2 months and there is still nothing in maven central. Could we at least get an update?

@bobbylight
Owner

I personally don't maintain the Maven artifacts (and have never used Maven at all), and the person who has been maintaining the RSTA Maven artifacts has been too busy to update them.

Also unfortunately, we're now two releases behind. RSTA 2.5.2 was just released today.

I don't have any interest in doing this myself, but if anyone would like to donate their time and energy to add RSTA 2.5.1 and 2.5.2 into Maven, I can put you into touch with the original maintainer, and perhaps we can make this happen.

@Ardesco

I'm happy to help out if it will get things moving, I'm also quite open to adding a job to our build server to automate the process.

@Ardesco

Still waiting for some contact details.

@Ardesco

Still waiting for some contact details.

@bobbylight
Owner

You can contact Rob Manning (manningr) who owns the SourceForge project here:

https://sourceforge.net/projects/rtext4maven/

My understanding is that this project is simply some shell scripts that Mavenize RSTA, its sister projects, and RText (an editor application built on top of RSTA), and publishes the artifacts (or at least does most of the work). What is committed may be slightly out of date though.

I don't want to drop email addresses here, but you can contact him via his SourceForge page.

You can also contact me directly via email at robert at fifesoft.

@SonOfLysander

It's too bad this still hasn't been fixed. Really this is entirely JMeter's fault for not using an existing maven repo in the first place, but que sera sera. I don't know if this helps anyone, but I wrote a really hacky work around to add 2.5.1 to your local maven repository. It works on my machine™, but you might have to change the url that it wget's by actually browsing to the page on sourceforge.

https://github.com/SonOfLysander/jmeter-csv-parser/blob/master/lazy-download-rsyntax-2.5.1.sh

@bobbylight
Owner

I don't think we've heard anything from Ardesco. If anybody else is willing to take charge of getting RSTA into Maven, please contact me at the email address in the post above!

@SonOfLysander

I'll totally do it. email-sent

@Ardesco

I've emailed Rob manning but heard nothing back. I'm still quite happy to do this as it will unblock the next release of the JMeter Maven Plugin.

@bobbylight
Owner

Just a note that we're hashing out the details to get 2.5.1 and 2.5.2 into Maven via email.

@bobbylight bobbylight closed this
@bobbylight bobbylight reopened this
@bobbylight bobbylight closed this
@bobbylight bobbylight reopened this
@Ardesco

Any update on how this is going?

@bobbylight
Owner

And now I've stopped hearing from SonOfLysander :( It appears that this effort is still stalled.

@Ardesco

I'm still happy to help.

@romanman

what is going on with the latest on maven repository is it really a big deal?

@Ardesco

I've emailed you at robert at fifesoft, let me know if it didn't get through.

@romanman

didn't get any, roman.mandeleil at gmail

@Ardesco

Sorry previous comment by me was aimed at @bobbylight :)

@SonOfLysander

I think your email got sent to my spam folder or something because I can't see the reply back in my email's inbox at that timeframe. I'm not sure, but it seems we're all having some kind of email issue going on. Is there maybe another email people can contact you at?

@pmouawad

Hello,
What is the progress on this issue ?
We have this issue and would like to upgrade to last version of library:
https://issues.apache.org/bugzilla/show_bug.cgi?id=56367

It would be sad to have to downgrade.
Thanks

@Ardesco

I've forked rtext4maven and started tweaking it to get it working on my CI server, but I've not finished yet due to time constraints (I just don't have enough free time these days), You can see where I have got so far at:

https://github.com/Ardesco/rtext4maven

@dscho

So... I had a look at rtext4maven and could not really make heads nor tails of it, it looked quite the bit over-engineered to me.

So I went ahead and wrote a very simple script to download official RSyntaxTextArea releases from SourceForge and deploy Maven artifacts to a public Maven repository. I used that script to deploy versions 2.5.1, 2.5.2 and 2.5.3.

The Maven repository is here: http://maven.imagej.net/content/repositories/thirdparty/

The repository containing the script is here: https://github.com/dscho/deploy-rsyntaxtextarea

I just sent a SourceForge message to Rob and hope he will be responding soon so that I can deploy to OSS Sonatype instead, to make even current versions of RSyntaxTextArea available via Maven Central.

@dscho

Update: I got permission to deploy: https://issues.sonatype.org/browse/OSSRH-10595. Will keep y'all posted.

@dscho dscho referenced this issue from a commit in dscho/deploy-rsyntaxtextarea
@dscho dscho Switch to OSS Sonatype
Deploying to OSS Sonatype has one major advantage over the (temporary)
solution to deploy to the ImageJ Maven repository: OSS Sonatype is
mirrored to Maven Central, and therefore does not require any extra
setup in the pom.xml to be able to use the referenced artifacts.

This reverts commit 593949b("Deploy to the ImageJ Maven repository")
and fixes bobbylight/RSyntaxTextArea#31.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
93b6e23
@dscho

Versions 2.5.1-2.5.3 deployed to OSS Sonatype: https://oss.sonatype.org/#nexus-search;gav~com.fifesoft~rsyntaxtextarea~~~

It is now only a matter of time until it trickles over to Maven Central.

@dscho

Aaaaand version 2.5.1 just hit Maven Central: http://repo1.maven.org/maven2/com/fifesoft/rsyntaxtextarea/2.5.1/

Therefore this bug can be closed (2.5.2 and 2.5.3 should be there shortly).

@bobbylight for the future, would you mind pinging me when you release a new version? I will then simply run the script (assuming that no adjustment is necessary, i.e. assuming that the same directory structure and file name convention is used on SourceForge) to deploy the new versions in a timely fashion.

Thank you all for your attention.

@Ardesco

Bleh, I should have checked this earlier.

I've got the fork I made of rtext4maven working correctly on my local and it's currently creating the bundles for the rsyntaxarea modules:

*autocomplete
*languagesupport
*rstaui
*rsyntaxtextarea
*spellchecker

and the rtext modules:

*common
*icon groups
*rtext

I've removed a lot, there is also a fair bit of scope to remove even more and condense it quite significantly but I figured that getting it working would be the best thing to do before going mad :)

I haven't checked it on a linux box yet, but I've tried to remove any OSX/*nix specific commands from the shell script and removed anything that referred to external dependencies (I didn't have any of them).

It's designed to be plugged into a CI server so unfortunately it needs quite a bit of input on the command line, it will tell you what you need when you first run it (The idea is that these parameters can be passed in to define the versions it builds rather than having them hard coded in the script).

Right now there doesn't seem much point in me plugging it into my CI server and cleaning up the rough edges unless somebody wants to use it, it's available at https://github.com/Ardesco/rtext4maven so have a look at it and let me know if you want me to do anything else to it.

@dscho

Well, my idea was to avoid shipping artifacts different from the ones released on SourceForge...

@bobbylight
Owner

I'd like to thank everyone who worked to make this happen. While it may not seem like it from my lack of responses, I do appreciate the work you folks did to get RSTA into Maven.

@dscho what's the best way to ping you moving forward? I don't see an email address associated with your Github account.

@Ardesco

@dscho I'm not suggesting there is anything wrong with what you have done. 2.5.1 is in Maven central so I'm happy.

What I have done is there if anybody wants it/bits of it.

@dscho

@bobbylight My email address should be public: johannes.schindelin@gmx.de. You could also just open a GitHub issue and mention me... Whatever works best for you!

@dscho

@Ardesco I appreciate the work that you put into the task, it's just that I thought another approach might be better. As for the other artifacts, such as autocompletion, how about enhancing my shell script to download and deploy those in addition to rsyntaxtextarea, too?

@bobbylight
Owner

In my local copy, I'm working on a branch that uses Gradle for builds. My understanding is that this would also facilitate publishing artifacts to Maven. When I commit this branch, if anybody more familiar with these tools would like to double-check my work, that would be wonderful. If all goes well it can be ultimately merged into master.

@schlm3

Is there any chance, that autocomplete 2.5.3 can be put on maven soon? I just realized that for my project, rsyntaxarea did update to 2.5.3 while autocomplete is still on 2.5.0 due to the missing release in maven.

@oakes

I would love to see AutoComplete on maven as well.

@oakes

Are there any issues with using different versions of RSyntaxTextArea and AutoComplete? I'm using 2.5.3 and 2.5.0 respectively, since they are what is available on maven...

@bobbylight
Owner

The official line is that you should use the latest version of each library together, though that doesn't mean using older versions of a particular one won't work. I guess I'm saying "if it works, it's fine."

The RSTA api hasn't been changing much recently, so that's probably why it works for you. I try to do the right thing but there may be times when I introduce api changes in minor releases. In those cases though, sister libraries like AutoComplete will get new releases as well.

Note that moving forward, I hope to get all new releases into Maven Central, so this will be a non-issue.

@oakes

Thanks! Looking forward to the next release.

@bobbylight
Owner

@dscho @Ardesco, could one of you check out the latest from master and verify whether the artifacts generated via "gradlew uploadArchives" are what we'd expect to upload to Maven Central? This task will create a "localRepo" subdirectory at the root of your workspace for the archives; it won't try to upload them anywhere currently.

Or, for your convenience, I've zipped up the output here:

http://fifesoft.com/temp/RSyntaxTextArea_uploadArchives_output.zip

Sorry about being so paranoid about the artifact state; I just have no experience with Maven (still none), and hacked these Gradle scripts together in an attempt to get something working, and just want to avoid accidentally uploading bad artifacts just due to my own stupidity.

I'm getting .jar, .asc, .md5, .sha1 and .pom files for source, javadoc and sources artifacts. If these all look good, I'll tweak the gradle builds for the miscellaneous RSTA projects to upload to Maven Central, and hopefully we'll finally have this done in a timely manner!

@dscho

Thanks for zipping it up, I do not use Gradle (if you want to know why, I can clarify).

It looks pretty good, with the exception of the .pom file:

<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apach
e.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.fifesoft</groupId>
  <artifactId>RSyntaxTextArea</artifactId>
  <version>2.5.4</version>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.+</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

If you compare with https://repo1.maven.org/maven2/com/fifesoft/rsyntaxtextarea/2.5.3/rsyntaxtextarea-2.5.3.pom, you will see that quite a few metadata are missing (some of which are mandated by OSS Sonatype, i.e. you won't be able to finalize the deployment without having those sections because Sonatype will simply reject the staged .pom file):

  • <parent> – this is not strictly necessary, but it inherits settings suggested by Sonatype.
  • <name> and <description> – both are optional, but why remove them when we already have them?
  • <inceptionYear>, <url>, <licenses>, <scm> and <developers> are required as far as I remember
  • the version number of the junit dependency is invalid. Gradle might not care, but the way to do it is really to specify a specific version (for continuity reasons, I would suggest 4.8.1). If you must specify a version range – which results in irreproducible builds – the correct Maven syntax is: [4.3,) (4.3 is the earliest JUnit version available via Maven Central and an empty upper bound implies no boundary).
  • <build> is there really only to enforce the Java 1.5 compatibility even when compiling with a JDK >=6; putting this information into the .pom file is more than just a build setting: it is a statement that you aim for compatibility with Java 1.5 and every contributor needs to make sure that their contributions avoid relying on features introduced only in later Java versions (including Java classpath versions).

Also, in the interest of continuity, I would strongly suggest to use the exact (i.e. all lower-case) name of the previously deployed artifacts; that is what I did so that users could simply update the version number and be done.

@bobbylight
Owner

Thanks for the feedback, just what I was looking for! I'll try to address these issues before the next release.

@bobbylight
Owner

A second attempt, if you have time. I think I addressed all the points you raised:

http://fifesoft.com/temp/localMavenRepo.zip

This zip contains RSyntaxTextArea and all of its sister projects.

The only questions I think I have left are:

  • I think I should remove any children I find of tags. They seem to imply a tag to pull from; not sure if i should specify the latest version each time (since I do tag it), or not specify at all to default to HEAD.
  • When I upload to Sonatype, I'm assuming that maven-metadata.xml for each project will be automatically updated to include the latest version being uploaded. Is that correct?
  • Can you help get me deployment access to com.fifesoft on Sonatype? My user id there is bobby_light. Also not sure if there's any other information I need to actually do the upload.
@dscho

I think I should remove any children I find of tags. They seem to imply a tag to pull from; not sure if i should specify the latest version each time (since I do tag it), or not specify at all to default to HEAD.

The idea is for the maven-release-plugin to switch the <tag> from HEAD to the appropriate tag automatically.

I have no idea whether Gradle does this or not.

When I upload to Sonatype, I'm assuming that maven-metadata.xml for each project will be automatically updated to include the latest version being uploaded. Is that correct?

I think so. It could be Maven, though, which does it, I never really dived into those details.

Can you help get me deployment access to com.fifesoft on Sonatype? My user id there is bobby_light. Also not sure if there's any other information I need to actually do the upload.

See https://issues.sonatype.org/browse/OSSRH-12408

@dscho

I had a brief look at the pom of autocomplete and I think that you meant to switch the <tag> to 2.5.4 (not 2.5.1). Otherwise it looks perfect to me!

@dscho

Can you help get me deployment access to com.fifesoft on Sonatype? My user id there is bobby_light. Also not sure if there's any other information I need to actually do the upload.

See https://issues.sonatype.org/browse/OSSRH-12408

The permission was granted!

@bobbylight
Owner

I'm closing this as 2.5.4 is now available in Maven, and all future versions should be put there as well, as soon as they are released. I'd like to personally thank @dscho and everyone else who helped out and put up with me half-assing things for so long. :)

@bobbylight bobbylight closed this
@dscho

@bobbylight thank you so much for your efforts! And thank you for this lovely library which is put to excellent use in ImageJ, it is an invaluable help, and I am glad if I was able to contribute a little bit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.