Closed GoogleCodeExporter closed 8 years ago
Original comment by pvogren@gmail.com
on 11 Jun 2010 at 1:32
I submitted a jira issue for having uimaFIT hosted using the instructions given
above. Hopefully, this will be fairly painless.
Original comment by pvogren@gmail.com
on 11 Jun 2010 at 8:40
The technical side should be fine. I have already worked with Nexus and it is a
fine tool. I'm curious how well the workflow will come along.
Original comment by richard.eckart
on 11 Jun 2010 at 8:44
My issue got the following comment: "uimafit is an invalid groupId, can you
change it to com.googlecode.uimafit, or org.uimafit if you own domain
uimafit.org"
I assume the latter is better so I snapped up uimafit.org and changed the
groupId to org.uimafit in the ticket.
Original comment by pvogren@gmail.com
on 18 Jun 2010 at 5:07
Yey!
Original comment by richard.eckart
on 19 Jun 2010 at 9:56
see https://issues.sonatype.org/browse/OSSRH-537 for next steps
Original comment by pvogren@gmail.com
on 21 Jun 2010 at 2:28
I'll set up our Hudson to automatically deploy snapshot versions to the
Sonatype Nexus repository.
Original comment by richard.eckart
on 21 Jun 2010 at 5:36
Ok, done. Everything was right _except_ that I had edited the wrong
settings.xml file ;)
So - Hudson is configured to check the uimaFIT SVN once per day and up there
are changes, it will compile and upload a new snapshot to the Sonatype Nexus.
That is, unless there are unit test failures, in which case it will not upload.
Original comment by richard.eckart
on 1 Jul 2010 at 8:43
that sounds really nice. so, if I want to depend on a snapshot version that
sits there, then what do I need to do?
Also, this does not obviate the need to for one of us to go through the steps
outlined in the link above for when we publish a release. Correct?
Just trying to understand exactly what you did means.
Original comment by pvogren@gmail.com
on 1 Jul 2010 at 8:58
The snapshot version is automatically deployed daily by Husdon now (if there
are changes in SVN).
You can access the SNAPSHOTs and upcoming releases by adding the public
sonatype repo to your personal settings.xml file:
<profiles>
<profile>
<id>sonatype-oss-repo</id>
<repositories>
<repository>
<id>sonatype-oss</id>
<url>https://oss.sonatype.org/content/groups/public</url>
<releases>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
<checksumPolicy>warn</checksumPolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<checksumPolicy>fail</checksumPolicy>
</snapshots>
</repository>
</profile>
</profiles>
<activeProfiles>
<activeProfile>sonatype-oss-repo</activeProfile>
</activeProfiles>
Once you do that, you will be able to download artifacts from there. If you use
the latest m2eclipse version, you should also be able to browse it in Eclipse.
Before we release the next version, we have to modify the pom.xml to point to
the place indicated in the Sonatype Jira issue. Once we do a release build
using the Maven release plugin, it will upload to there - no longer to
googlecode. I have never used that "staging". As far as I understand we are
supposed to put the staging repository into the pom.xml for release versions:
https://oss.sonatype.org/service/local/staging/deploy/maven2
Probably we need then to manually promote the staged artifact into the
"Releases" repository using the web interface.
The the pom should receive a section like this:
<distributionManagement>
<repository>
<id>sonatype-oss</id>
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2</url>
</repository>
<snapshotRepository>
<id>sonatype-oss</id>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
</snapshotRepository>
</distributionManagement>
In your settings XML you should add this section in the <servers> section:
<server>
<id>sonatype-oss</id>
<username>USERNAME</username>
<password>PASSWORD</password>
</server>
My local setup is actually a bit different - so there may be mistakes in the
above that I did not notice.
Original comment by richard.eckart
on 1 Jul 2010 at 9:34
I'm going to attempt releasing a 0.9.14 version today. I will let you know how
it goes and update the CreatingARelease wiki accordingly.
Original comment by pvogren@gmail.com
on 2 Jul 2010 at 5:48
well - I tried to get this to work but failed. My goal was to release a
version 0.9.14 and everything goes fine up until I run "mvn release:perform"
(that is, I run "mvn clean deploy", "mvn release:clean", "mvn release:prepare"
without a problem). When I run "mvn release:perform" I get the following error:
[INFO] Cannot execute mojo: resources. It requires a project with an existing
pom.xml, but the build is not using one.
I looked up this error and it is a symptom of being in the wrong directory.
This sort of makes sense because shortly before the error message shows up the
following message is shown:
[INFO] Working directory:
C:\Users\Philip\Documents\Academic\workspace\uimaFIT\target
Not sure why it would be doing this. Anyways, I tried a number of things with
the pom file and tried to follow the instructions very carefully and I have to
give up for now. Here's more of the output:
C:\Users\Philip\Documents\Academic\workspace\uimaFIT>mvn release:perform
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'release'.
[INFO] ------------------------------------------------------------------------
[INFO] Building uimaFIT
[INFO] task-segment: [release:perform] (aggregator-style)
[INFO] ------------------------------------------------------------------------
[INFO] [release:perform {execution: default-cli}]
[INFO] Checking out the project to perform the release ...
[INFO] Executing: cmd.exe /X /C "svn --non-interactive checkout https://uimafit.
googlecode.com/svn/tags/uimafit-0.9.14 C:\Users\Philip\Documents\Academic\worksp
ace\uimaFIT\target\checkout"
[INFO] Working directory: C:\Users\Philip\Documents\Academic\workspace\uimaFIT\t
arget
[INFO] Executing goals 'deploy'...
[INFO] Executing: cmd.exe /X /C ""C:\Program Files (x86)\apache-maven-2.2.1\bin\
..\bin\mvn" deploy --no-plugin-updates -DperformRelease=true -f pom.xml"
[INFO] Scanning for projects...
[INFO] ---------------------------------------------------------------------
---
[INFO] Building Maven Default Project
[INFO] task-segment: [deploy]
[INFO] ---------------------------------------------------------------------
---
[INFO] ---------------------------------------------------------------------
---
[ERROR] BUILD ERROR
[INFO] ---------------------------------------------------------------------
---
[INFO] Cannot execute mojo: resources. It requires a project with an existin
g pom.xml, but the build is not using one.
[INFO] ---------------------------------------------------------------------
---
[INFO] For more information, run Maven with the -e switch
[INFO] ---------------------------------------------------------------------
---
[INFO] Total time: 1 second
[INFO] Finished at: Fri Jul 02 14:42:08 MDT 2010
[INFO] Final Memory: 7M/18M
[INFO] ---------------------------------------------------------------------
---
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Maven execution failed, exit code: '1'
Original comment by pvogren@gmail.com
on 2 Jul 2010 at 8:52
When I do a release, I usually do a
mvn clean install
mvn release:prepare
mvn release:perform
I have never used the "deploy" - do you do that for a particular reason?
Other than that, I suppose it should work. I could try doing that release on my
machine.
Original comment by richard.eckart
on 3 Jul 2010 at 8:20
I was just blindly following the instructions on the sonatype page given above.
Original comment by pvogren@gmail.com
on 3 Jul 2010 at 8:44
According to that page "mvn deploy" is to publish snapshots. We shouldn't have
to worry about that atm since Hudson is doing that daily.
Looking into the rest...
Original comment by richard.eckart
on 3 Jul 2010 at 8:57
I restructured the project so that the release plugin can work properly.
You will have to re-checkout uimaFIT - directly the trunk. Use "Checkout as
Maven project". Eclipse will create 3 projects from that. The release has to be
done for the top-level project "uimafit-parent".
I could successfully run the perform stage and the stuff got uploaded to Nexus.
But then when I tried to close the release, it complained about invalid SHA1
and MD5 checksums. Will try again later.
Original comment by richard.eckart
on 3 Jul 2010 at 11:00
Closing this issue. The release procedure with Sonatype OSS works - 0.9.14
should soon be pushed to Maven central. Wiki has been updated. Project was
reorganized to have a uimafit-parent aggregator project which contains uimafit
and uimafit-examples as modules. This was necessary to get the release process
work properly
Please re-checkout uimaFIT now as indicated by my last post.
Original comment by richard.eckart
on 4 Jul 2010 at 12:45
Richard,
Thanks for all your hard work on this issue. I have a few questions for you
though. First, is version 0.9.14 available from a central repository yet. If
so, where?
I don't remember now exactly what hoops I had to jump through to get to where I
am now with building uimaFIT - and I am still not there yet. First, I had to
update to m2eclipse version 0.10.0. I could not figure out how to uninstall my
0.9.8 version and so I took this as my opportunity to upgrade to Helios. The
most recent version of m2eclipse is required in order to install the "Maven SCM
Handler for SVN" which must be installed in order to use the "Checkout as Maven
Project". Once, I figured this out I got a lot further.
So, I followed the instructions in comment 16. One addition I would make is
that it did not work for me unless I actually browsed to the SCM URL using the
browse button and the dialog "Repository Browser". It checks out three maven
projects as expected (thought this didn't work the first time - I am repeating
my steps as I write this.) Not surprisingly, the uimafit project does not
compile complaining about missing type files.
I'm not sure what to do now. If I run "mvn test" from the home directory of
uimafit-parent or uimafit it complains that it cannot compile the test code -
i.e. JCasGen does not run first any more.
Original comment by pvogren@gmail.com
on 7 Jul 2010 at 10:32
btw - for now I did the obvious workaround of manually generating the jcas
files and everything seems fine now. so, I suppose that the jcasgen not
working should simply go in another bug (esp. considering this one is closed.)
Original comment by pvogren@gmail.com
on 7 Jul 2010 at 11:20
It is not yet in Maven Central, but it is available via
https://oss.sonatype.org/content/groups/public/org/uimafit/uimafit/
I missed the last point in the Sonatype how-to which points out that the sync
has to be activated after the first release. I requested sync with Maven
Central for 0.9.14 now via the Sonatype JIRA.
Original comment by richard.eckart
on 8 Jul 2010 at 8:08
Ok, I can reproduce this. Will fix that.
Original comment by richard.eckart
on 8 Jul 2010 at 8:20
Original issue reported on code.google.com by
pvogren@gmail.com
on 1 May 2010 at 3:11