Releasing asciidoctor-maven-plugin v 1.5.1

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
22 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Releasing asciidoctor-maven-plugin v 1.5.1

abelsromero
Hi,

It's been a while since the maven plugin got some love.
I'm thinking maybe the current dev version could be released, after that I would like to start integrating the latest improvements in asciidoctorj.

I'm an absolute ignorant in the release process and I'm assuming I require some special permission to publish to mavenc central, If that's not true. Please, let me know and I'll start looking into it :D Any help is appreciated.

What do you think?
Reply | Threaded
Open this post in threaded view
|

Re: Releasing asciidoctor-maven-plugin v 1.5.1

mojavelinux
Administrator
Indeed! A new release of the Asciidoctor Maven plugin is on my wishlist as well.

I think it's time to release version 1.5.2 to align with AsciidoctorJ 1.5.2. I'm happy with cutting the release as the code stands now, unless there is something pressing we want to squeeze in before the release.

Fortunately, you don't need any special permissions to publish, other than to be in the Asciidoctor group on Bintray. I've invited you.

To release to Bintray (which will also release to Maven Central once we approve it), first add your Bintray credentials to ~/.m2/settings.xml

[source,xml]
----
<settings>
  <servers>
    <server>
      <id>bintray-asciidoctor-maven-asciidoctor-maven-plugin</id>
      <username>USERNAME</username>
      <password>API_KEY</password>
    </server>
  </servers>
</settings>
----

Then run the deploy goal:

 $ mvn deploy -Prelease

You can also tweak the settings in the pom.xml to deploy to your own Bintray repository just to test it out. Keep in mind that you do have to set the version to 1.5.2 manually since Bintray does not allow you to release snapshots (unless we use the dedicated repository).

-Dan

On Tue, Dec 16, 2014 at 1:12 AM, abelsromero [via Asciidoctor :: Discussion] <[hidden email]> wrote:
Hi,

It's been a while since the maven plugin got some love.
I'm thinking maybe the current dev version could be released, after that I would like to start integrating the latest improvements in asciidoctorj.

I'm an absolute ignorant in the release process and I'm assuming I require some special permission to publish to mavenc central, If that's not true. Please, let me know and I'll start looking into it :D Any help is appreciated.

What do you think?


If you reply to this email, your message will be added to the discussion below:
http://discuss.asciidoctor.org/Releasing-asciidoctor-maven-plugin-v-1-5-1-tp2549.html
To start a new topic under Asciidoctor :: Discussion, email [hidden email]
To unsubscribe from Asciidoctor :: Discussion, click here.
NAML


--
Reply | Threaded
Open this post in threaded view
|

Re: Releasing asciidoctor-maven-plugin v 1.5.1

LightGuardjp
I don't think there's anything worth releasing for a 1.5.1. I'd say skip it and go to 1.5.2
On Tue, Dec 16, 2014 at 01:31 mojavelinux [via Asciidoctor :: Discussion] <[hidden email]> wrote:
Indeed! A new release of the Asciidoctor Maven plugin is on my wishlist as well.

I think it's time to release version 1.5.2 to align with AsciidoctorJ 1.5.2. I'm happy with cutting the release as the code stands now, unless there is something pressing we want to squeeze in before the release.

Fortunately, you don't need any special permissions to publish, other than to be in the Asciidoctor group on Bintray. I've invited you.

To release to Bintray (which will also release to Maven Central once we approve it), first add your Bintray credentials to ~/.m2/settings.xml

[source,xml]
----
<settings>
  <servers>
    <server>
      <id>bintray-asciidoctor-maven-asciidoctor-maven-plugin</id>
      <username>USERNAME</username>
      <password>API_KEY</password>
    </server>
  </servers>
</settings>
----

Then run the deploy goal:

 $ mvn deploy -Prelease

You can also tweak the settings in the pom.xml to deploy to your own Bintray repository just to test it out. Keep in mind that you do have to set the version to 1.5.2 manually since Bintray does not allow you to release snapshots (unless we use the dedicated repository).

-Dan

On Tue, Dec 16, 2014 at 1:12 AM, abelsromero [via Asciidoctor :: Discussion] <[hidden email]> wrote:
Hi,

It's been a while since the maven plugin got some love.
I'm thinking maybe the current dev version could be released, after that I would like to start integrating the latest improvements in asciidoctorj.

I'm an absolute ignorant in the release process and I'm assuming I require some special permission to publish to mavenc central, If that's not true. Please, let me know and I'll start looking into it :D Any help is appreciated.

What do you think?


If you reply to this email, your message will be added to the discussion below:
http://discuss.asciidoctor.org/Releasing-asciidoctor-maven-plugin-v-1-5-1-tp2549.html
To start a new topic under Asciidoctor :: Discussion, email [hidden email]
To unsubscribe from Asciidoctor :: Discussion, click here.
NAML



If you reply to this email, your message will be added to the discussion below:
To start a new topic under Asciidoctor :: Discussion, email [hidden email]
To unsubscribe from Asciidoctor :: Discussion, click here.
NAML
Reply | Threaded
Open this post in threaded view
|

Re: Releasing asciidoctor-maven-plugin v 1.5.1

abelsromero
Got it!

First I'll adapt the current code to asciidoctorj 1.5.2 and then release the plugin directly with the same versionID (1.5.2).
Reply | Threaded
Open this post in threaded view
|

Re: Releasing asciidoctor-maven-plugin v 1.5.1

mojavelinux
Administrator
Great! Please let me know when you start the release process and I will be there to lend a hand.

Also, if you will, please record anything you do so that we can put together a mini release guide so we don't forget what we did in the future (and so others can help too).

The toughest bit is the signatures. You need to have a gpg key configured in your profile and you need to add the necessary configuration to your Maven ~/.m2/settings.xml file. Here's a guide I found about it:


Cheers!

-Dan

On Wed, Dec 17, 2014 at 12:54 AM, abelsromero [via Asciidoctor :: Discussion] <[hidden email]> wrote:
Got it!

First I'll adapt the current code to asciidoctorj 1.5.2 and then release the plugin directly with the same versionID (1.5.2).


If you reply to this email, your message will be added to the discussion below:
http://discuss.asciidoctor.org/Releasing-asciidoctor-maven-plugin-v-1-5-1-tp2549p2556.html
To start a new topic under Asciidoctor :: Discussion, email [hidden email]
To unsubscribe from Asciidoctor :: Discussion, click here.
NAML


--
Reply | Threaded
Open this post in threaded view
|

Re: Releasing asciidoctor-maven-plugin v 1.5.1

Paul van der Maden
I was about to, somewhere in the evening, to submit an updated example of the maven plugin. Shall I delay this until the 1.5.2 version is released?
Reply | Threaded
Open this post in threaded view
|

Re: Releasing asciidoctor-maven-plugin v 1.5.1

LightGuardjp
Yes, we should have a new release out soon. 

On Wednesday, December 17, 2014, Paul van der Maden [via Asciidoctor :: Discussion] <[hidden email]> wrote:
I was about to submit an updated example of the maven plugin. Shall I delay this until the 1.5.2 version is released?


If you reply to this email, your message will be added to the discussion below:
http://discuss.asciidoctor.org/Releasing-asciidoctor-maven-plugin-v-1-5-1-tp2549p2562.html
To start a new topic under Asciidoctor :: Discussion, email <a href="javascript:_e(%7B%7D,&#39;cvml&#39;,&#39;ml-node%2Bs49171n1h37@n6.nabble.com&#39;);" target="_blank">ml-node+s49171n1h37@...
To unsubscribe from Asciidoctor :: Discussion, click here.
NAML


--

Reply | Threaded
Open this post in threaded view
|

Re: Releasing asciidoctor-maven-plugin v 1.5.1

mojavelinux
Administrator
In reply to this post by Paul van der Maden

Yes, please base it on the 1.5.2 release.

Reply | Threaded
Open this post in threaded view
|

Re: Releasing asciidoctor-maven-plugin v 1.5.1

Paul van der Maden
Will do!
Reply | Threaded
Open this post in threaded view
|

Re: Releasing asciidoctor-maven-plugin v 1.5.1

abelsromero
I'm having an issue building the updated version, and I'd like to check it with you all.

Eveything works fine but I need to add the following dependency to the pom.xml because asciidoctorj sets it as `runtime` now (it was in compile before)

<dependency>
    <groupId>org.jruby</groupId>
    <artifactId>jruby-complete</artifactId>
    <version>1.7.16.1</version>
</dependency>

Only this is required for the plugin to work with asciidoctorj 1.5.2
Reply | Threaded
Open this post in threaded view
|

Re: Releasing asciidoctor-maven-plugin v 1.5.1

LightGuardjp
Not sure why it was changed to runtime. It's needed to compile. What does the new dependency tree look like?

On Fri, Dec 19, 2014 at 2:54 PM, abelsromero [via Asciidoctor :: Discussion] <[hidden email]> wrote:
I'm having an issue building the updated version, and I'd like to check it with you all.

Eveything works fine but I need to add the following dependency to the pom.xml because asciidoctorj sets it as `runtime` now (it was in compile before)

<dependency>
    <groupId>org.jruby</groupId>
    <artifactId>jruby-complete</artifactId>
    <version>1.7.16.1</version>
</dependency>

Only this is required for the plugin to work with asciidoctorj 1.5.2


If you reply to this email, your message will be added to the discussion below:
http://discuss.asciidoctor.org/Releasing-asciidoctor-maven-plugin-v-1-5-1-tp2549p2583.html
To start a new topic under Asciidoctor :: Discussion, email [hidden email]
To unsubscribe from Asciidoctor :: Discussion, click here.
NAML


--
Reply | Threaded
Open this post in threaded view
|

Re: Releasing asciidoctor-maven-plugin v 1.5.1

abelsromero
Basically all asciidoctorj dependencies (jruby-complete, commander and slf4j-api) are runtime now, even though
they appear as 'compile' in the gradle file.

(some minutes later)...ok,I just saw this comment in the publish.gradle file of asciidoctorj.
      // NOTE Gradle sets the scope of all dependencies to runtime.
     //      jruby-core should be added with scope provided, but otherwise we're okay with runtime scopes.
I don't like this, adding the jruby dependency in the plugin means checking if it has changed everytime a new version of asciidoctorj is released.


btw, I'm not being able to build asciidoctorj cause the 'jrubyPrepareGems' tasks is failing. Do I need to install something?

:asciidoctorj:jrubyPrepareGemsERROR:  Loading command: install (LoadError)
        Could not load FFI Provider: (NotImplementedError) FFI not available: null
 See http://jira.codehaus.org/browse/JRUBY-4583
ERROR:  While executing gem ... (NoMethodError)
    undefined method `invoke_with_build_args' for nil:NilClass
 FAILED
Reply | Threaded
Open this post in threaded view
|

Re: Releasing asciidoctor-maven-plugin v 1.5.1

mojavelinux
Administrator
Abel & Jason,

On Fri, Dec 19, 2014 at 3:34 PM, abelsromero [via Asciidoctor :: Discussion] <[hidden email]> wrote:
Basically all asciidoctorj dependencies (jruby-complete, commander and slf4j-api) are runtime now, even though
they appear as 'compile' in the gradle file.

I'm aware of this change. By no means is it a decision that's set in stone, but we are testing out a new approach. Consider this to be the trial period.
 

(some minutes later)...ok,I just saw this comment in the publish.gradle file of asciidoctorj.
      // NOTE Gradle sets the scope of all dependencies to runtime.
     //      jruby-core should be added with scope provided, but otherwise we're okay with runtime scopes.
I don't like this, adding the jruby dependency in the plugin means checking if it has changed everytime a new version of asciidoctorj is released.

Technically, AsciidoctorJ (and thus the Asciidoctor Maven plugin) does not have a hard dependency on JRuby complete (jruby-complete). We don't want to force that dependency. Some people prefer to use fine-grained dependencies to reduce the overall size of dependencies.

The Maven plugin does have a dependency on the JRuby API, but unfortunately it's really complicated to require the API and then make the user reconcile the dependencies for runtime. I've been down that road in the past and it's better solved by documenting the requirement to add the JRuby dependency.

Also, it's understood that AsciidoctorJ requires JRuby, but it is not dependent on a specific version. Each project that uses AsciidoctorJ should declare the dependency on JRuby in the way that fits best for that project.

Please use the latest version, JRuby 1.7.17.
 


btw, I'm not being able to build asciidoctorj cause the 'jrubyPrepareGems' tasks is failing. Do I need to install something?

:asciidoctorj:jrubyPrepareGemsERROR:  Loading command: install (LoadError)
        Could not load FFI Provider: (NotImplementedError) FFI not available: null
 See http://jira.codehaus.org/browse/JRUBY-4583
ERROR:  While executing gem ... (NoMethodError)
    undefined method `invoke_with_build_args' for nil:NilClass
 FAILED

This is a known issue with the JRuby Gradle plugin. See the following issue report:


Thus, at the moment, AsciidoctorJ cannot be built on Windows unless you hack the build.gradle file to remove the use of this plugin. We're going to ensure this doesn't happen in the future by getting the AsciidoctorJ build setup on AppVeyor. I've filed an issue here:


Cheers,

-Dan

--
Reply | Threaded
Open this post in threaded view
|

Re: Releasing asciidoctor-maven-plugin v 1.5.1

abelsromero
Thanks for the explanation Dan.
Now that I think of it, it absolutely makes sense to separate the facade (asciidoctorj) from the runtime. Specially now that other alternatives like JS are on the roadmap.

I'll commit it then.
Reply | Threaded
Open this post in threaded view
|

Re: Releasing asciidoctor-maven-plugin v 1.5.1

abelsromero
This post was updated on .
Released! I had to install gpg2 and generate new keys, but everything is done.
Reply | Threaded
Open this post in threaded view
|

Re: Releasing asciidoctor-maven-plugin v 1.5.1

mojavelinux
Administrator
Great job!

On Sat, Dec 20, 2014 at 1:52 AM, abelsromero [via Asciidoctor :: Discussion] <[hidden email]> wrote:
Btw, I created a new GPG key, is it necessary to upload the GPG key somewhere?

It would be ideal if you published it to a public key server.

Use the following command to send your key to a public keyserver:
gpg --send-key KEYNAME

For KEYNAME, substitute the key ID or fingerprint of your primary keypair.

(thanks to the Fedora wiki for that tip!)

Cheers,

-Dan
Reply | Threaded
Open this post in threaded view
|

Re: Releasing asciidoctor-maven-plugin v 1.5.1

mojavelinux
Administrator
In reply to this post by abelsromero
Abel,

Thanks for handling the release of the Asciidoctor Maven plugin. It's really important to keep the release training moving after a release of core, so your help is much appreciated!

You missed 3 steps in getting the publishing finalized, which I want to let you know about.

1. You need to create a git tag once you update the version in the pom.xml. The pattern for the tags so far has been asciidoctor-maven-plugin-{version}, but I'm flexible if you want to change that. See https://github.com/asciidoctor/asciidoctor-maven-plugin/tree/asciidoctor-maven-plugin-1.5.2

(perhaps this is because you didn't use the Maven release plugin. Jason, could you advise?)

2. You need to press the "Publish" button in the Bintray interface to make the release permanent. Otherwise, the files remain in a staged state for 24 hours, after which they are deleted. I caught it in time to publish them.

3. You need to sync the files to Maven Central using the Maven Central tab in Bintray. That requires that you have credentials to publish to Maven Central under the org.asciidoctor groupId. We may need to put in a request to add you, so I took care of that step this time around.

Again, thanks for your help!

Cheers,

-Dan
Reply | Threaded
Open this post in threaded view
|

Re: Releasing asciidoctor-maven-plugin v 1.5.1

LightGuardjp
I can't speak to what needs to be done on bintray, but the first one is probably due to not using the maven release plugin. If you do use it, it takes care of tagging, pushing and making sure the versions are all correct and ready for the next stage of development.

On Saturday, December 20, 2014, mojavelinux [via Asciidoctor :: Discussion] <[hidden email]> wrote:
Abel,

Thanks for handling the release of the Asciidoctor Maven plugin. It's really important to keep the release training moving after a release of core, so your help is much appreciated!

You missed 3 steps in getting the publishing finalized, which I want to let you know about.

1. You need to create a git tag once you update the version in the pom.xml. The pattern for the tags so far has been asciidoctor-maven-plugin-{version}, but I'm flexible if you want to change that. See https://github.com/asciidoctor/asciidoctor-maven-plugin/tree/asciidoctor-maven-plugin-1.5.2

(perhaps this is because you didn't use the Maven release plugin. Jason, could you advise?)

2. You need to press the "Publish" button in the Bintray interface to make the release permanent. Otherwise, the files remain in a staged state for 24 hours, after which they are deleted. I caught it in time to publish them.

3. You need to sync the files to Maven Central using the Maven Central tab in Bintray. That requires that you have credentials to publish to Maven Central under the org.asciidoctor groupId. We may need to put in a request to add you, so I took care of that step this time around.

Again, thanks for your help!

Cheers,

-Dan



If you reply to this email, your message will be added to the discussion below:
http://discuss.asciidoctor.org/Releasing-asciidoctor-maven-plugin-v-1-5-1-tp2549p2592.html
To start a new topic under Asciidoctor :: Discussion, email <a href="javascript:_e(%7B%7D,&#39;cvml&#39;,&#39;ml-node%2Bs49171n1h37@n6.nabble.com&#39;);" target="_blank">ml-node+s49171n1h37@...
To unsubscribe from Asciidoctor :: Discussion, click here.
NAML


--

Reply | Threaded
Open this post in threaded view
|

Re: Releasing asciidoctor-maven-plugin v 1.5.1

mojavelinux
Administrator
Exactly. I was just looking for what that command is (in the way you had been running it in the past).

If I'm not mistaken, it's something like:

 $ mvn release:prepare --batch-mode -Drelease -DdevelopmentVersion=1.5.3-SNAPSHOT -DreleaseVersion=1.5.2 -Dtag=asciidoctor-maven-plugin-1.5.2

The change from publishing to Maven Central to Bintray doesn't affect the release plugin in anyway. It basically has no knowledge of the change. Totally transparent.

Btw, I'd like to switch to using a simpler git tag scheme. Asciidoctor core uses v1.5.2. The Gradle plugin uses release_1_5_2. It's interesting to note that Twitter Bootstrap (to cite another popular project) uses vX.Y.Z too.

Cheers,

-Dan

On Sat, Dec 20, 2014 at 10:00 PM, LightGuardjp [via Asciidoctor :: Discussion] <[hidden email]> wrote:
I can't speak to what needs to be done on bintray, but the first one is probably due to not using the maven release plugin. If you do use it, it takes care of tagging, pushing and making sure the versions are all correct and ready for the next stage of development.


On Saturday, December 20, 2014, mojavelinux [via Asciidoctor :: Discussion] <[hidden email]> wrote:
Abel,

Thanks for handling the release of the Asciidoctor Maven plugin. It's really important to keep the release training moving after a release of core, so your help is much appreciated!

You missed 3 steps in getting the publishing finalized, which I want to let you know about.

1. You need to create a git tag once you update the version in the pom.xml. The pattern for the tags so far has been asciidoctor-maven-plugin-{version}, but I'm flexible if you want to change that. See https://github.com/asciidoctor/asciidoctor-maven-plugin/tree/asciidoctor-maven-plugin-1.5.2

(perhaps this is because you didn't use the Maven release plugin. Jason, could you advise?)

2. You need to press the "Publish" button in the Bintray interface to make the release permanent. Otherwise, the files remain in a staged state for 24 hours, after which they are deleted. I caught it in time to publish them.

3. You need to sync the files to Maven Central using the Maven Central tab in Bintray. That requires that you have credentials to publish to Maven Central under the org.asciidoctor groupId. We may need to put in a request to add you, so I took care of that step this time around.

Again, thanks for your help!

Cheers,

-Dan



If you reply to this email, your message will be added to the discussion below:
http://discuss.asciidoctor.org/Releasing-asciidoctor-maven-plugin-v-1-5-1-tp2549p2592.html
To start a new topic under Asciidoctor :: Discussion, email <a href="javascript:_e(%7B%7D,&#39;cvml&#39;,&#[hidden email]&#39;);" target="_blank">ml-node+s49171n1h37@...
To unsubscribe from Asciidoctor :: Discussion, click here.
NAML


--




If you reply to this email, your message will be added to the discussion below:
http://discuss.asciidoctor.org/Releasing-asciidoctor-maven-plugin-v-1-5-1-tp2549p2593.html
To start a new topic under Asciidoctor :: Discussion, email [hidden email]
To unsubscribe from Asciidoctor :: Discussion, click here.
NAML



--
Reply | Threaded
Open this post in threaded view
|

Re: Releasing asciidoctor-maven-plugin v 1.5.1

LightGuardjp
I just run mvn release :) I'm sure there are options to set the tag scheme, we'll have to look them up. 

On Saturday, December 20, 2014, mojavelinux [via Asciidoctor :: Discussion] <[hidden email]> wrote:
Exactly. I was just looking for what that command is (in the way you had been running it in the past).

If I'm not mistaken, it's something like:

 $ mvn release:prepare --batch-mode -Drelease -DdevelopmentVersion=1.5.3-SNAPSHOT -DreleaseVersion=1.5.2 -Dtag=asciidoctor-maven-plugin-1.5.2

The change from publishing to Maven Central to Bintray doesn't affect the release plugin in anyway. It basically has no knowledge of the change. Totally transparent.

Btw, I'd like to switch to using a simpler git tag scheme. Asciidoctor core uses v1.5.2. The Gradle plugin uses release_1_5_2. It's interesting to note that Twitter Bootstrap (to cite another popular project) uses vX.Y.Z too.

Cheers,

-Dan

On Sat, Dec 20, 2014 at 10:00 PM, LightGuardjp [via Asciidoctor :: Discussion] <[hidden email]> wrote:
I can't speak to what needs to be done on bintray, but the first one is probably due to not using the maven release plugin. If you do use it, it takes care of tagging, pushing and making sure the versions are all correct and ready for the next stage of development.


On Saturday, December 20, 2014, mojavelinux [via Asciidoctor :: Discussion] <[hidden email]> wrote:
Abel,

Thanks for handling the release of the Asciidoctor Maven plugin. It's really important to keep the release training moving after a release of core, so your help is much appreciated!

You missed 3 steps in getting the publishing finalized, which I want to let you know about.

1. You need to create a git tag once you update the version in the pom.xml. The pattern for the tags so far has been asciidoctor-maven-plugin-{version}, but I'm flexible if you want to change that. See https://github.com/asciidoctor/asciidoctor-maven-plugin/tree/asciidoctor-maven-plugin-1.5.2

(perhaps this is because you didn't use the Maven release plugin. Jason, could you advise?)

2. You need to press the "Publish" button in the Bintray interface to make the release permanent. Otherwise, the files remain in a staged state for 24 hours, after which they are deleted. I caught it in time to publish them.

3. You need to sync the files to Maven Central using the Maven Central tab in Bintray. That requires that you have credentials to publish to Maven Central under the org.asciidoctor groupId. We may need to put in a request to add you, so I took care of that step this time around.

Again, thanks for your help!

Cheers,

-Dan



If you reply to this email, your message will be added to the discussion below:
http://discuss.asciidoctor.org/Releasing-asciidoctor-maven-plugin-v-1-5-1-tp2549p2592.html
To start a new topic under Asciidoctor :: Discussion, email <a href="javascript:_e(%7B%7D,&#39;cvml&#39;,&#[hidden email]&#39;);" target="_blank">ml-node+s49171n1h37@...
To unsubscribe from Asciidoctor :: Discussion, click here.
NAML


--




If you reply to this email, your message will be added to the discussion below:
http://discuss.asciidoctor.org/Releasing-asciidoctor-maven-plugin-v-1-5-1-tp2549p2593.html
To start a new topic under Asciidoctor :: Discussion, email [hidden email]
To unsubscribe from Asciidoctor :: Discussion, click here.
NAML



--



If you reply to this email, your message will be added to the discussion below:
http://discuss.asciidoctor.org/Releasing-asciidoctor-maven-plugin-v-1-5-1-tp2549p2594.html
To start a new topic under Asciidoctor :: Discussion, email <a href="javascript:_e(%7B%7D,&#39;cvml&#39;,&#39;ml-node%2Bs49171n1h37@n6.nabble.com&#39;);" target="_blank">ml-node+s49171n1h37@...
To unsubscribe from Asciidoctor :: Discussion, click here.
NAML


--

12