-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Maven Repository ... #11
Comments
Later there may be a Maven Redline Smalltalk Architype to create a standard Maven JAR project that automatically includes the Redline Smalltalk dependency so developers can start writing Smalltalk and have their project built and packaged into a JAR they can run or use elsewhere. |
Since I'm a Maven noob, I've been reading the Maven docs to try to understand more about how it works. I have a lot more to learn, but I think I found the basic things needed to deploy to a remote repo. The pom.xml needs a I still need to figure out how the deploy phase chooses to deploy the snapshot vs the release version. I think as long as the pom version contains the text "SNAPSHOT", it uploads to the snaphot repo automatically. Apparently there is a release plugin that does a whole bunch things required to deploy a release instead of a snapshot, such as changing the version in pom.xml. I'll need to test the deployment. I'm thinking I can install Nexus Repository Manager OSS locally to test deploying to a local repo. Am I on the right track? |
Peter,
That sounds like a good approach.
I have not yet released a Maven Plugin to a Repository.
However, I got close with the following Plugin which may serve as
informational to you:
https://github.com/jamesladd/jaws-maven-plugin/blob/master/pom.xml
I was at the stage of having to ask the Repo managers to accept my
deployment key (PGP).
Doing stuff locally first is a very good idea.
Hope this helps.
- James.
…On Mon, Oct 16, 2017 at 11:03 AM, Pete DiSalvo ***@***.***> wrote:
Since I'm a Maven noob, I've been reading the Maven docs to try to
understand more about how it works. I have a lot more to learn, but I think
I found the basic things needed to deploy to a remote repo. The pom.xml
needs a <distributionManagement> section, and we need a settings.xml with
the server authentication information which would be stored on the build
server. The <distributionManagement> section can have release and
snapshot configurations.
I still need to figure out how the deploy phase chooses to deploy the
snapshot vs the release version. I think as long as the pom version
contains the text "SNAPSHOT", it uploads to the snaphot repo automatically.
Apparently there is a release plugin that does a whole bunch things
required to deploy a release instead of a snapshot, such as changing the
version in pom.xml.
I'll need to test the deployment. I'm thinking I can install Nexus
Repository Manager OSS locally to test deploying to a local repo. Am I on
the right track?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#11 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AAGKBKts1Vxpa9GILWxmxbuIMC9TNlC2ks5ssp00gaJpZM4PxOmj>
.
|
Thanks. That should serve as a good example. Do we need to make a maven plugin for this, or is this only to upload the redline jar to the repo that can be included as a compile time dependency, e.g. similar to the junit dependency. |
>Do we need to make a maven plugin for this, or is this only to upload the
redline jar to the repo that can be included as a compile time dependency,
e.g. similar to the junit dependency.
This.
…On Mon, Oct 16, 2017 at 12:12 PM, Pete DiSalvo ***@***.***> wrote:
Thanks. That should serve as a good example.
Do we need to make a maven plugin for this, or is this only to upload the
redline jar to the repo that can be included as a compile time dependency,
e.g. similar to the junit dependency.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#11 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AAGKBHSX_PwpCQvp_1iWOTng0z4xREhmks5ssq2OgaJpZM4PxOmj>
.
|
Hey James. I think we need to update the pom.xml <scm>
<url>[email protected]:redline-smalltalk/redline-smalltalk.git</url>
<developerConnection>scm:git:[email protected]:redline-smalltalk/redline-smalltalk.git</developerConnection>
<connection>scm:git:[email protected]:redline-smalltalk/redline-smalltalk.git</connection>
</scm> |
Please make it so ;)
…On Sat, Oct 21, 2017 at 2:09 PM, Pete DiSalvo ***@***.***> wrote:
Hey James. I think we need to update the pom.xml scm element to point to
the stc repo under your account for the maven release plugin to do its
business. Would you like me to make that change?
Currently pointing to the redline account:
<scm>
***@***.***:redline-smalltalk/redline-smalltalk.git</url>
***@***.***:redline-smalltalk/redline-smalltalk.git</developerConnection>
***@***.***:redline-smalltalk/redline-smalltalk.git</connection>
</scm>
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#11 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AAGKBBmkTiEh99XlgABRKhWQ9NxyYINsks5suWBVgaJpZM4PxOmj>
.
|
Aye, captain :) |
Oh, eventually all the work in Stc repo will replace the redline repo
…Sent from my Commodore 64
On 21 Oct 2017, at 2:46 pm, Pete DiSalvo ***@***.***> wrote:
Aye, captain :)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.
|
Does that mean the Stc repo will become the main repo, or will Stc be copied over the redline repo and redline will be the main repo? |
I notice your jaws maven plugin project uses |
Yes, eventually my Stic repo will be deleted in favour of using the proper
Redline-Smalltalk repo.
…On Mon, Oct 23, 2017 at 7:47 AM, Pete DiSalvo ***@***.***> wrote:
Does that mean the Stc repo will become the main repo, or will Stc be
copied over the redline repo and redline will be the main repo?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#11 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AAGKBNGJ50_eBnY4ZEU2rWSqqTKW9VGaks5su6n8gaJpZM4PxOmj>
.
|
I’m not sure or fussed which plugins to use as long as we get the result we are looking for which is a JAR uploaded that anyone including the dependency in their POM can fetch.
…Sent from my Commodore 64
On 23 Oct 2017, at 3:23 pm, Pete DiSalvo ***@***.***> wrote:
I notice your jaws maven plugin project uses maven-versions-plugin and nexus-staging-maven-plugin. It looks like these would be used instead of the maven-release-plugin. Is that correct?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.
|
Hey James. I'm trying to configure the maven-gpg-plugin to sign the artifacts. I generated a gpg key using gpg2, but the plugin is failing during the verify phase with the error: Update: I figured out why it couldn't find the key. I had the I'm using these for instructions: |
Hi Pete,
I think that is where I got stumped too, maybe you could ask a forum ?
I think you have to tell sonotype the passphrase or something like.
Wish I could be more help.
…On Tue, Oct 24, 2017 at 2:31 PM, Pete DiSalvo ***@***.***> wrote:
Hey James. I'm trying to configure the maven-gpg-plugin to sign the
artifacts. I generated a gpg key using gpg2, but the plugin is failing
during the verify phase with the error: gpg: signing failed: No secret key.
I'm having trouble finding information online about this error. I'm
thinking I'm using the wrong input for the gpg.keyname, but I can't find
anything online that says what the key name should be.
I'm using these for instructions:
http://central.sonatype.org/pages/requirements.html
http://central.sonatype.org/pages/working-with-pgp-signatures.html
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#11 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AAGKBO6YsZ3XIWWHYXji3REXHCDXRyEsks5svVofgaJpZM4PxOmj>
.
|
I was able to deploy signed artifacts 😵. It doesn't seem to accept the passphrase from the settings.xml, or from passing on the command line, e.g., |
Settings.xmlYou will need to update your <settings>
<servers>
<server>
<id>ossrh</id>
<username><!-- Nexus username --></username>
<password><!-- Nexus password --></password>
</server>
<server>
<id>github</id>
<privateKey><!-- Path to SSH private key (Typically: ~/.ssh/id_rsa) --></privateKey>
<passphrase><!-- SSH key passphrase --></passphrase>
</server>
</servers>
<profiles>
<profile>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<gpg.executable>gpg2</gpg.executable>
<gpg.keyname><!-- GPG key name --></gpg.keyname>
</properties>
</profile>
</profiles>
</settings> You can find the GPG key name as follows:
DeployingThe nexus-staging-maven-plugin is configured to auto release after close via the All of the commands require the GPG key generation instructions are here http://central.sonatype.org/pages/working-with-pgp-signatures.html. Detailed info on releasing is available at http://central.sonatype.org/pages/apache-maven.html Deploying Snapshots
Deploy Release (manual)
Deploy Release (maven-release-plugin)The You can run any of these commands with the
If you don't want maven-release-plugin to prompt for versions, use You can also pass them on the command line: More info on non-interactive release at http://maven.apache.org/maven-release/maven-release-plugin/examples/non-interactive-release.html maven-release-plugin default behavior tags the current branch with the release version. There is another way to configure it to create branches for each release instead; if you prefer. |
Redline Smalltalk needs to create a Maven Repository JAR when mvn deploy is run.
This will enable anyone wanting to use Redline Smalltalk to include the necessary JAR by including the Maven dependency into their Maven project.
Of course only core commiters should be able to run mvn deploy and have the result pushed to the Maven repository.
The text was updated successfully, but these errors were encountered: