birt icon indicating copy to clipboard operation
birt copied to clipboard

Publish Maven Build To Central

Open pipebaum opened this issue 4 years ago • 203 comments

Currently, there is no automated feature to publish the BIRT-Runtime to Maven. Wouldn't it be nice to fix this.

pipebaum avatar Mar 24 '21 20:03 pipebaum

@wimjongman Do you or anyone you know have experiencing setting this up? What we would like is to be able to automatically deploy/publish the Runtime to Maven Central. To date, we have been doing this by hand, it would be great if we could do this in the easiest way possible. @SteveSchafer-Innovent

pipebaum avatar Apr 29 '21 15:04 pipebaum

I have tried once and failed...

However, it seems doable with some focus.

https://docs.github.com/en/actions/guides/publishing-java-packages-with-maven https://dzone.com/articles/publish-your-artifacts-to-maven-central

wimjongman avatar Apr 29 '21 18:04 wimjongman

Thanks Wim,

We will take a look in the upcoming days using those links.

Scott

On Thu, Apr 29, 2021 at 1:46 PM Wim Jongman @.***> wrote:

I have tried once and failed...

However, it seems doable with some focus.

https://docs.github.com/en/actions/guides/publishing-java-packages-with-maven https://dzone.com/articles/publish-your-artifacts-to-maven-central

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/eclipse/birt/issues/625#issuecomment-829501061, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABKF2BOJ6UWXBORNJMMBOLLTLGSO5ANCNFSM4ZYBQNVA .

-- Scott Rosenbaum Innovent Solutions, Inc. 612 220 6006 cell

pipebaum avatar Apr 30 '21 16:04 pipebaum

Hello there, we are currently working on integrating BIRT into a private service for report generation. We noticed that there is currently no public build release of the BIRT runtime.

We were able to build the BIRT runtime locally and will probably integrate the runtime by using the build jars as dependencies.

Can we help you, in order to get a public build release on Maven Central?

martins-1992 avatar Sep 13 '21 08:09 martins-1992

Can we help you, in order to get a public build release on Maven Central?

Yes, that would be great. You can create PR's referencing this issue.

wimjongman avatar Sep 13 '21 12:09 wimjongman

What are the release problems?

martins-1992 avatar Sep 14 '21 07:09 martins-1992

We could setup a release workflow, where a release is uploaded to Github first and find issues with the build process that way.

We have done it for our project as well: https://github.com/minova-afis/aero.minova.core.application.system/blob/master/.github/workflows/release.yml

The only thing needed to my knowledge are a username and an access token for Github, as a secret in the project.

martins-1992 avatar Sep 15 '21 15:09 martins-1992

@splitcells, @pipebaum can we re-start working on this?

wimjongman avatar Mar 15 '22 08:03 wimjongman

@wimjongman It is not known, what is needed or if a Maven Central release is desired.

martins-1992 avatar Mar 15 '22 09:03 martins-1992

Hi,

I'm not sure what your problem is, but for sure a Maven Central release is desired by us, see https://github.com/eclipse/birt/discussions/863

JacquesLeRoux avatar Mar 15 '22 10:03 JacquesLeRoux

This is what is currently inside the maven repo [1]. Our official build is in Jenkins [2].

[1] https://mvnrepository.com/artifact/org.eclipse.birt [2] https://ci.eclipse.org/birt/

wimjongman avatar Mar 15 '22 10:03 wimjongman

Which one is the release workflow or what are the commands used for release? Is it this one? https://ci.eclipse.org/birt/job/populate-build-lists/

martins-1992 avatar Mar 15 '22 15:03 martins-1992

The birt-master job creates all the artifacts. The artifacts are then uploaded here [1]

We used to have a process to make milestones and release candidates but we are going to skip that for now.

Finally, there will be a job that will move the artifacts from the downloads/snapshots and update-site/snapshots to a final release location.

Then there could be another job that uploads these artifacts to maven central. I guess the artifacts to upload are the bundles in update-site/snapshots/plugins

[1] https://download.eclipse.org/birt/

wimjongman avatar Mar 15 '22 16:03 wimjongman

You mentioned earlier, that you tried something? What are the commands executed for the release? What were the errors?

That way, we have a common process to start from.

martins-1992 avatar Mar 16 '22 15:03 martins-1992

I have tried once and failed...

That was for a different project and a long while ago.

wimjongman avatar Mar 16 '22 15:03 wimjongman

I can take this on and I'd like to publish 4.9 manually to make sure all the requirements are met before automating it. Maybe have automation a goal for 4.10.

Do we want to publish just the runtime or everything?

SteveSchafer-Innovent avatar Mar 16 '22 20:03 SteveSchafer-Innovent

+1 to doing a manual build for now and get the automated build into 8.10

I think that we should just publish the Runtime, if people want to use the design elements, I think they would use a different path.

Scott

On Wed, Mar 16, 2022 at 3:36 PM Steve Schafer @.***> wrote:

I can take this on and I'd like to publish 8.9 manually to make sure all the requirements are met before automating it. Maybe have automation a goal for 8.10.

Do we want to publish just the runtime or everything?

— Reply to this email directly, view it on GitHub https://github.com/eclipse/birt/issues/625#issuecomment-1069605490, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABKF2BN4YYU5TJBPBBGQG7TVAJA4JANCNFSM4ZYBQNVA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you were mentioned.Message ID: @.***>

-- Scott Rosenbaum Innovent Solutions, Inc. 612 220 6006 cell

pipebaum avatar Mar 16 '22 20:03 pipebaum

Yes, it's 4.9 not 8.9 ;)

JacquesLeRoux avatar Mar 17 '22 07:03 JacquesLeRoux

Thanks, Steve!

I'm not sure what is meant with the Runtime. This is what is currently on maven:

https://mvnrepository.com/artifact/org.eclipse.birt

wimjongman avatar Mar 17 '22 08:03 wimjongman

If that's of any help, this is what I'm interested with: https://mvnrepository.com/artifact/org.eclipse.birt.runtime/viewservlets

What I'm looking for is a security fix: https://github.com/eclipse/birt/discussions/863

JacquesLeRoux avatar Mar 17 '22 10:03 JacquesLeRoux

Quite happy to see BIRT is alive again :)

We are stuck on 4.4.2 and would love to upgrade 4.9.0 but need maven artifacts in central. BTW, the 4.4.2 runtime artifact loads lots of dependencies, better if most of the data connectors are made separate artifacts.

cristatus avatar Mar 17 '22 16:03 cristatus

Thanks, Amit. We are looking forward to your patches ;)

wimjongman avatar Mar 17 '22 17:03 wimjongman

Also quite interested in seeing this published to Maven. Would appreciate both the runtime and also viewservlets.

Super excited to see activity in this project again!

Tostino avatar Mar 18 '22 15:03 Tostino

birt.war is part of the runtime.

hvbtup avatar Mar 18 '22 16:03 hvbtup

Thanks, Steve!

I'm not sure what is meant with the Runtime. This is what is currently on maven:

https://mvnrepository.com/artifact/org.eclipse.birt

When I think of runtime I think of what's built into build/birt-packages/birt-runtime/target and also what we could download called "birt runtime". It includes all the classes you need to be able to generate BIRT reports in your own application. It also includes the web app and the war file. I think when people want a maven repo, it's so they can conveniently include the necessary classes in their own app.

I'll need to find out if there's a way to build the runtime independently or construct a pom that will do that. That will be the root and then everything it depends on will need to be also published to central. All the pom's will need to meet the maven requirements including <licenses>, <scm>, and PGP signatures. Since this will involved a lot of changes to pom.xml files and 4.9 is now frozen I'll probably need to publish from my fork in order to publish 4.9. Once we get 4.9 successfully published we can make sure 4.10 is ready to go.

https://maven.apache.org/repository/guide-central-repository-upload.html

When I published 4.8 under the Innovent name I pushed all the jar files to Sonatype OSSRH. There is also a mechanism for running your own repository manager. That might be overkill for us but let me know what you think.

https://central.sonatype.org/publish/large-orgs/

SteveSchafer-Innovent avatar Mar 18 '22 19:03 SteveSchafer-Innovent

Sounds good Steve. I don't think we need our own repo manager, but you be the judge.

I am happy to release 4.10 early, there is no reason to postpone a release when we have some great new stuff to offer.

Here is a link to the platform publish wiki: https://wiki.eclipse.org/Platform-releng/Publish_to_Maven_Central

wimjongman avatar Mar 18 '22 20:03 wimjongman

I can publish to the group com.innoventsolutions, but in order to publish to org.eclipse or any sub-groups, I would need the sonatype jira credentials of whoever owns org.eclipse.

SteveSchafer-Innovent avatar Mar 19 '22 14:03 SteveSchafer-Innovent

It would be quite better if it was under org.eclipse.

JacquesLeRoux avatar Mar 19 '22 16:03 JacquesLeRoux

@SteveSchafer-Innovent

I can publish to the group com.innoventsolutions, but in order to publish to org.eclipse or any sub-groups, I would need the sonatype jira credentials of whoever owns org.eclipse.

What commands are you using? mvn release:prepare & release:perform? Will the commands be added to the repo?

Sry, for the noobish question.

martins-1992 avatar Mar 20 '22 01:03 martins-1992

@splitcells, although I have published to central before I haven't published using maven so I'm just as much a noob as you are in that area, but I can say that any modifications to the pom files will be part of the repo. My comments about group ownership came from reading https://central.sonatype.org/publish/requirements/coordinates/#choose-your-coordinates.

SteveSchafer-Innovent avatar Mar 20 '22 02:03 SteveSchafer-Innovent