But... I'ld vote for a stable release: the plugin is in good shape for me, so we could do a 1.1.0 release? Is anyone having problems with it?
Marcin
I'll prepare the codebase so we can push a 1.1.0-SNAPSHOT to the snapshot repository.
I'll prepare the codebase so we can push a 1.1.0-SNAPSHOT to the snapshot repository.
Once we push to staging and then promote it to release we should be able to remove repositories {} :-)
After 1.1.0 I'll figure out how we can all create releases so anyone can upload a new release as needed.
On second though, I think we'll still need repositories { mavenCentral() } at the very least
After 1.1.0 I'll figure out how we can all create releases so anyone can upload a new release as needed.All people that should be able to release new versions have to have an account at Sonatype JIRA. Then you will ask Sonatype people (via creating an JIRA issue) to add specific user accounts for the Gradle Android Plugin project.For example, when I wanted do get ddmlib into Maven Central, I created an Sonatype JIRA account named "ladicek" and Rob Manning then created this issue https://issues.sonatype.org/browse/OSSRH-1420 for me getting the privileges.
I've staged it already. Should I release?
I've staged it already. Should I release?This is a little hurry for my taste. I think there should be this process:
On my side, I think that the PR 37 is _almost_ ready to go in. What is missing:1. Updating a changelog. This must be done _before_ the commit that changes the version property.
2. After the commit that changes the version property to 1.1.0, there should be a commit that changes it to 1.1.1-SNAPSHOT.Then, you will create a tag pointing to the exact commit that changes the version to 1.1.0. You will build the artifacts from this tag. As said, this tag and everything must be in jvoegele repo.
1. Updating a changelog. This must be done _before_ the commit that changes the version property.Hmm I may have to rearrange the commits from the branch...
2. After the commit that changes the version property to 1.1.0, there should be a commit that changes it to 1.1.1-SNAPSHOT.Then, you will create a tag pointing to the exact commit that changes the version to 1.1.0. You will build the artifacts from this tag. As said, this tag and everything must be in jvoegele repo.
Gotcha. There are some lines that are commented out in build.gradle that are related to releasing (signing and repository) so I figured I'll include uncommenting them together with the version change to 1.1.0, and then comment them out again in the next commit.
Also, do we create a 1.1.0-maint branch, with the version at 1.1.1-SNAPSHOT, with master set to 1.2.0-SNAPSHOT?
So, what is described here could be inserted in a wiki page titled "Release procedure", right?
True. The point is that there must be only one commit that contains the version property '1.1.0', so that you can precisely point to the state of the repository at any time and know what was released as 1.1.0.
Gotcha. There are some lines that are commented out in build.gradle that are related to releasing (signing and repository) so I figured I'll include uncommenting them together with the version change to 1.1.0, and then comment them out again in the next commit.I don't know exactly how Jason did it, but I think that the buildscript could be rearanged so that you don't need commenting out release-related stuff. For example, if the task graph contains a task called "release", apply some configuration, otherwise apply different configuration.
Also, do we create a 1.1.0-maint branch, with the version at 1.1.1-SNAPSHOT, with master set to 1.2.0-SNAPSHOT?Probably good idea, but not sure if it's needed now. We can do it anytime in the future.
So, what is described here could be inserted in a wiki page titled "Release procedure", right?I think so. I did never release a version of Gradle Android Plugin, but I believe this is what we and Jason were basically doing :-)
1. Make sure local repo is up to date.
2. Update README with any relevant information for the release.
3. Update version number in build.gradle to the release version.
4. Run gradle clean uploadArchives*
5. Tag the release
6. Update version in build.gradle to the next SNAPSHOT version.
7. Update the wiki on GitHub.
* Note: due to an unfortunate bug somewhere in the deployment stack, I cannot directly upload to the remote repository using Gradle. I have to rsync my entire Maven repo to a local tmp directory, then do the gradle uploadArchives thing to this local tmp directory, then rsync the whole updated repo back to the remote site. That's why there is a line in the build.gradle that says repository(url: "file:///tmp/maven2")
Hi all, I too am in favor of a 1.1.0 release. Just to provide a little bit of clarification on how previous releases have worked, here is part of a previous message to this list that describes how I had done releases:
Thanks for the clarification. PR 37 should have all of these already. To be clear, I'm waiting for a go signal to merge PR 37 to master. Once that's done I'll:
- Tag the specific commit that releases 1.1.0
- Build the 1.1.0 release and stage to Sonatype
- Release 1.1.0 to Maven Central
Looked at the diffs and it looks okay! Go ahead with 1 and 2, then let us know to take a look at it (let's make sure it all goes well), then 3 :-)
Oh... and did I mention that you are doing great work? :-) Thanks!
Gotcha. PR 37 merged, tagged, built, and staged for release:
Current master builds for me, tests are OK.My small application builds fine with Gradle Android Plugin imported like this:buildscript {repositories {maven {}}dependencies {classpath 'org.gradle.api.plugins:gradle-android-plugin:1.1.0'}}apply plugin: "android"But it keeps failing on Failure [INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION] when trying to install to the emulator.Let's wait till someone confirms it works for him, I'll try to investigate why it keeps failing for me (and it didn't not so long ago)...
But it keeps failing on Failure [INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION] when trying to install to the emulator.
I'm +1 on releasing 1.1.0 to Maven Central.
Do we need a certain number of votes to release?I'm +1 on releasing 1.1.0 to Maven Central.
I don't think we are doing some formal voting process. We already agreed that current master is OK, so I think you should feel free to release as you will.
I don't think we need or even want to change the packages. Change
packages is always a bad idea in my opinion as anybody who has directly
used the classes in their code (like me in Discobot Plugin) will get his
code broken and will have to update all imports... But maybe I'm the
only one thinking like that...
Marcin
P.s. You're doing a great job with releasing it!
I don't think we need or even want to change the packages.I just realized that while we set the package to org.gradle.api.plugins,
I didn't change the packages in the source. Sorry for the major
oversight! Do we roll out a 1.1.1 or something?
On 12/18/2011 05:05 PM, Ealden Escañan wrote:I don't think we need or even want to change the packages. Change packages is always a bad idea in my opinion as anybody who has directly used the classes in their code (like me in Discobot Plugin) will get his code broken and will have to update all imports... But maybe I'm the only one thinking like that...
Oh man.
I just realized that while we set the package to org.gradle.api.plugins,
I didn't change the packages in the source. Sorry for the major
oversight! Do we roll out a 1.1.1 or something?