Giter Site home page Giter Site logo

Comments (189)

SteveSchafer-Innovent avatar SteveSchafer-Innovent commented on July 20, 2024 6

Amazing! After I switched back to Tycho 2.5.0 the build worked. Now to see what happened on Maven Central...

from birt.

JacquesLeRoux avatar JacquesLeRoux commented on July 20, 2024 4

Hi,

I'm not sure what your problem is, but for sure a Maven Central release is desired by us, see #863

from birt.

cristatus avatar cristatus commented on July 20, 2024 2

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.

from birt.

SteveSchafer-Innovent avatar SteveSchafer-Innovent commented on July 20, 2024 2

It appears the link doesn't really work. It just takes you to sonatype but doesn't expand the browser tree to org/eclipse/birt, but you can still manually browse to org/eclipse/birt.

But, in the not-so-great-news department, it appears that what got published is the entirety of birt but not the birt runtime pojo jars. The pojo jars are there, but there inside the birt-runtime zip which is useless from a maven standpoint. I believe one could still utilize the repository for the runtime but it would probably need to be an osgi configuration rather than a pojo configuration. In order to have the pojo jars be mavenized I think we are going to create a new project and publish it to org.eclipse.birt.runtime, as has evidently been done in the past, up to version 4.6.0 and as I did a couple of years ago as org.innoventsolutions.birt.runtime.

from birt.

martins-1992 avatar martins-1992 commented on July 20, 2024 1

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?

from birt.

JacquesLeRoux avatar JacquesLeRoux commented on July 20, 2024 1

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

from birt.

JacquesLeRoux avatar JacquesLeRoux commented on July 20, 2024 1

Hi @SteveSchafer-Innovent ,

Maybe in the meantime you could publish to the group com.innoventsolutions?

from birt.

wimjongman avatar wimjongman commented on July 20, 2024 1

We are getting very close:

[INFO] Deploying remotely...
[INFO] Bulk deploying locally gathered artifacts from directory: 
[INFO]  * Bulk deploying locally gathered snapshot artifacts
[WARNING] Failed to upload checksum to org/eclipse/birt/birt-runtime/4.9.0-SNAPSHOT/birt-runtime-4.9.0-20220427.100452-1.zip.sha1
org.apache.maven.wagon.TransferFailedException: transfer failed for https://oss.sonatype.org/content/repositories/snapshots/org/eclipse/birt/birt-runtime/4.9.0-SNAPSHOT/birt-runtime-4.9.0-20220427.100452-1.zip.sha1, status: 502 Bad Gateway
    at org.apache.maven.wagon.providers.http.wagon.shared.AbstractHttpClientWagon.put (AbstractHttpClientWagon.java:835)
    at org.apache.maven.wagon.providers.http.wagon.shared.AbstractHttpClientWagon.put (AbstractHttpClientWagon.java:750)

from birt.

wimjongman avatar wimjongman commented on July 20, 2024 1

from birt.

pipebaum avatar pipebaum commented on July 20, 2024

@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

from birt.

wimjongman avatar wimjongman commented on July 20, 2024

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

from birt.

pipebaum avatar pipebaum commented on July 20, 2024

from birt.

wimjongman avatar wimjongman commented on July 20, 2024

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.

from birt.

martins-1992 avatar martins-1992 commented on July 20, 2024

What are the release problems?

from birt.

martins-1992 avatar martins-1992 commented on July 20, 2024

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.

from birt.

wimjongman avatar wimjongman commented on July 20, 2024

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

from birt.

martins-1992 avatar martins-1992 commented on July 20, 2024

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

from birt.

wimjongman avatar wimjongman commented on July 20, 2024

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/

from birt.

martins-1992 avatar martins-1992 commented on July 20, 2024

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/

from birt.

wimjongman avatar wimjongman commented on July 20, 2024

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/

from birt.

martins-1992 avatar martins-1992 commented on July 20, 2024

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.

from birt.

wimjongman avatar wimjongman commented on July 20, 2024

I have tried once and failed...

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

from birt.

SteveSchafer-Innovent avatar SteveSchafer-Innovent commented on July 20, 2024

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?

from birt.

pipebaum avatar pipebaum commented on July 20, 2024

from birt.

JacquesLeRoux avatar JacquesLeRoux commented on July 20, 2024

Yes, it's 4.9 not 8.9 ;)

from birt.

wimjongman avatar wimjongman commented on July 20, 2024

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

from birt.

JacquesLeRoux avatar JacquesLeRoux commented on July 20, 2024

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: #863

from birt.

wimjongman avatar wimjongman commented on July 20, 2024

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

from birt.

Tostino avatar Tostino commented on July 20, 2024

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!

from birt.

hvbtup avatar hvbtup commented on July 20, 2024

birt.war is part of the runtime.

from birt.

SteveSchafer-Innovent avatar SteveSchafer-Innovent commented on July 20, 2024

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/

from birt.

wimjongman avatar wimjongman commented on July 20, 2024

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

from birt.

SteveSchafer-Innovent avatar SteveSchafer-Innovent commented on July 20, 2024

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.

from birt.

martins-1992 avatar martins-1992 commented on July 20, 2024

@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.

from birt.

SteveSchafer-Innovent avatar SteveSchafer-Innovent commented on July 20, 2024

@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.

from birt.

wimjongman avatar wimjongman commented on July 20, 2024

The maven publisher needs to run on birt CI https://ci.eclipse.org/birt

I see that the jgit project also publishes to maven. Maybe you can ask around in the jgit mailing list for hints on how to get started. You can also ask the Eclipse Foundation for support. Just file an issue here: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/issues

from birt.

SteveSchafer-Innovent avatar SteveSchafer-Innovent commented on July 20, 2024

What is the relationship between github and ci.eclipse.org? When a PR is built on github is that happening on ci.eclipse.org, or are they independent?

from birt.

ruspl-afed avatar ruspl-afed commented on July 20, 2024

They are independent. Github is serving as CI while eclipse.org is mostly used for CD purposes.

from birt.

wimjongman avatar wimjongman commented on July 20, 2024

Correct. ci.eclipse.org/birt is a Jenkins instance. Whenever a PR is accepted, a new snapshot is built on ci. Then when we release we copy a snapshot build to the official version directories. The ci is our official build channel. It copies to download.eclipse.org, signs the builds, etc..

Github actions run whenever someone creates a pr, it runs the tests, etc..

from birt.

SteveSchafer-Innovent avatar SteveSchafer-Innovent commented on July 20, 2024

So we can add the various things like the maven-deploy-plugin and maven-release-plugin to one or more pom's. We don't want github to publish snapshots on every PR build so if there is no ossrh credentials in ci.yml then hopefully the PR build will ignore the maven artifacts. Then I need to figure out how to configure jenkins so it has the ossrh credentials and can execute the deployment. Anyway I don't have the ossrh credentials for org.eclipse so maybe someone else needs to do that.

from birt.

wimjongman avatar wimjongman commented on July 20, 2024

That is legally not possible. Please don't take shortcuts on this.

from birt.

JacquesLeRoux avatar JacquesLeRoux commented on July 20, 2024

This was done before, that's why I suggested it. Or maybe not exactly the official version was published then?

from birt.

wimjongman avatar wimjongman commented on July 20, 2024

Maybe Innovent published their own version of BIRT but this is not something that can come from us. Obviously, Innovent can do what they want with BIRT, within the rules of engagement, but that is outside our mission.

It would be very confusing if Innovent would publish our binaries on maven.

from birt.

JacquesLeRoux avatar JacquesLeRoux commented on July 20, 2024

Yes, of course

from birt.

SteveSchafer-Innovent avatar SteveSchafer-Innovent commented on July 20, 2024

From what I've read, I should be able to post a bug asking for the credentials and GPG key for org.eclipse. I'm going to try that and see where it gets me.

from birt.

wimjongman avatar wimjongman commented on July 20, 2024

The new issue location is here: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/issues

Could you please post the issue link back here?

from birt.

SteveSchafer-Innovent avatar SteveSchafer-Innovent commented on July 20, 2024

I just created this new issue: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/issues/1077

from birt.

SteveSchafer-Innovent avatar SteveSchafer-Innovent commented on July 20, 2024

The issue has been closed, and as I understand it, settings.xml has been changed on ci.eclipse.org/birt. I modified the root-level pom.xml to include <distributionManagement>, and the nexus-staging-plugin-maven, maven-source-plugin, maven-javadoc-plugin, and maven-gpg-plugin plugins, but in order to keep my local build from failing, I put all those plugins in a new profile named "release". Now I think ci.eclipse.org/birt needs to be modified to invoke this profile but I don't know what's the appropriate way to do that.

from birt.

JacquesLeRoux avatar JacquesLeRoux commented on July 20, 2024

Sounds promising, looking forward :)

from birt.

SteveSchafer-Innovent avatar SteveSchafer-Innovent commented on July 20, 2024

Here's what I'm trying to figure out:

Constraint: Publishing to Maven Central must be done through ci.eclipse.org because that's where the credentials for org.eclipse are.

Goal: Publish BIRT 4.9 to Maven Central.

Question: Can I make changes to 4.9 pom's and have it processed through ci.eclipse.org?

I'm trying to understand what I'm doing before I pull the trigger and mess something up.

from birt.

wimjongman avatar wimjongman commented on July 20, 2024

from birt.

SteveSchafer-Innovent avatar SteveSchafer-Innovent commented on July 20, 2024

Okay, I think I see a way forward. 1) create a new branch based on birt_4_9_0 branch. I think I can do this directly but if it's preferable to do it in a fork with PR's let me know. 2) modify the pom in that branch to add the new profile. 3) create a new item in jenkins to build that branch with that profile.

from birt.

wimjongman avatar wimjongman commented on July 20, 2024

from birt.

SteveSchafer-Innovent avatar SteveSchafer-Innovent commented on July 20, 2024

Seems like I'll need to do this through a PR because it's not letting me push directly.
Update: I had it set up incorrectly. I was able to push branch 'BIRT_4.9.0_maven'.
Created 'birt_4.9.0_maven' in ci.eclipse.org by mostly copying from master except to use the BIRT_4.9.0_branch and the 'release' profile.

from birt.

JacquesLeRoux avatar JacquesLeRoux commented on July 20, 2024

Hi @SteveSchafer-Innovent,

We are ready to create a new release of Apache OFBiz. We just miss this new publish on Maven to fix a CVE due to Birt used as a plugin. We can avoid to use the Birt plugin for this release but would, of course, prefer not. How many time do you think it will need to publish on Maven?

TIA

from birt.

SteveSchafer-Innovent avatar SteveSchafer-Innovent commented on July 20, 2024

I'm having problems getting the jenkins job to build. I created the branch BIRT_4.9.0_maven and created a jenkins job that is basically the same as birt-master except it refers to that branch, specifies the gpg keyring file, and invokes the release profile that I added to the pom.xml file. It fails with this error:

[ERROR] Failed to execute goal org.eclipse.tycho:tycho-p2-plugin:2.5.0:p2-metadata (attached-p2-metadata) on project org.apache.batik.dom.birt.ext: Execution attached-p2-metadata of goal org.eclipse.tycho:tycho-p2-plugin:2.5.0:p2-metadata failed. IllegalArgumentException

which seems strange because org.apache.batik.dom.birt.ext doesn't invoke the tycho-p2-plugin plugin. I get this error whether I invoke the build-server profile or not.

More info:

If I remove the "release" profile it should, theoretically, build as it originally did, however instead it gets a test failure:

Tests run: 241, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 46.863 s <<< FAILURE! - in org.eclipse.birt.chart.tests.AllTests
2dline(org.eclipse.birt.chart.tests.device.render.ImageOutputBaseTest) Time elapsed: 5.815 s <<< FAILURE!
junit.framework.AssertionFailedError
at org.eclipse.birt.chart.tests.device.render.ImageOutputBaseTest.runTest(ImageOutputBaseTest.java:113)

Perhaps this is related to a change I had to make to org.eclipse.birt.target.target. The repository https://download.eclipse.org/eclipse.updates/4.23-I-builds no longer exists, so I changed it to 4.23.

from birt.

SteveSchafer-Innovent avatar SteveSchafer-Innovent commented on July 20, 2024

I'm getting 504 errors on ci.eclipse.org/birt. I think I broke it.

from birt.

wimjongman avatar wimjongman commented on July 20, 2024

haha. Well done. It works fine for me: https://ci.eclipse.org/birt/

from birt.

SteveSchafer-Innovent avatar SteveSchafer-Innovent commented on July 20, 2024

It's working for me now too. I deleted a project and then saw that it wasn't deleted but just disabled. When I tried to re-enable it, it went out to lunch. I'm going to try it again.
Update: deleting the project worked this time.

from birt.

SteveSchafer-Innovent avatar SteveSchafer-Innovent commented on July 20, 2024

Can I push a change to BIRT_4.9.0 branch to change https://download.eclipse.org/eclipse/updates/4.23-I-builds to https://download.eclipse.org/eclipse/updates/4.23 in org.eclipse.birt.target.target because the former no longer exists and is keeping it from building in jenkins?

from birt.

wimjongman avatar wimjongman commented on July 20, 2024

Yes, that is fine. It should be that before we released it.

from birt.

SteveSchafer-Innovent avatar SteveSchafer-Innovent commented on July 20, 2024

I actually got the birt_4.9.0_maven branch to build by re-creating the project and removing the "release" profile. When I added the release profile back, it got the tycho-p2-plugin error I mentioned earlier. It's a clue! But what does it mean?

from birt.

wimjongman avatar wimjongman commented on July 20, 2024

I see that it complains about a source that is already attached. In your profile I see this line: attach-sources

Maybe this is not needed.

from birt.

wimjongman avatar wimjongman commented on July 20, 2024

The batik project contains the jar-signer in its own pom.xml https://github.com/eclipse/birt/tree/BIRT_4.9.0_maven/common/org.apache.batik.dom.birt.ext

Do you think that this can cause it?

from birt.

SteveSchafer-Innovent avatar SteveSchafer-Innovent commented on July 20, 2024

Removing the jarsigner from org.apache.batik.dom.birt.ext didn't fix the error.

from birt.

SteveSchafer-Innovent avatar SteveSchafer-Innovent commented on July 20, 2024

@wimjongman thanks for adding the tracebacks to the jenkins log. I see the illegal argument exception is coming from P2GeneratorImpl.getCanonicalArtifact and you can see the code here, but it doesn't mean anything to me at this point. I will try digging further.

from birt.

AlexSchuetz avatar AlexSchuetz commented on July 20, 2024

I am new to BIRT and I also don't know much about tycho and eclipse plugins. But I see one differeence in the poms between the two projects that work (java.xml.rpc, org.apache.axis) and org.apache.batik.dom.birt:

There is no groupid in the working projects.

I don't know if this is of any help, but maybe you should give it a try as the groupid is already in the parent pom and is redundant.

from birt.

AlexSchuetz avatar AlexSchuetz commented on July 20, 2024

The build.properties look also pretty different.
Mayby the trailing \ and following newlines produce the error.

Since there is no hint on the internet on this IllegalArgumentException my experience tells me this is no general issue, but more like a uncommon input, to cause this.

from birt.

wimjongman avatar wimjongman commented on July 20, 2024

Thanks, Alex! Those kinds of things could just be it.

from birt.

SteveSchafer-Innovent avatar SteveSchafer-Innovent commented on July 20, 2024

I removed the groupId from org.apache.batik.dom.birt.ext/pom.xml and changed build.properties a bit but it still got the error. I don't think there's anything wrong with build.properties. On the next line after the trailing backslash there's a dot so I think that's not an error. Anyway, more importantly, the contents of org.apache.batik.dom.birt.ext are identical to the 4.10 version so it seems unlikely that anything within that project is causing the error. Maybe something about p2 configuration?

from birt.

claesrosell avatar claesrosell commented on July 20, 2024

I am not very good with Maven or Tycho, but I have tinkered with it a little in the past.

I think that the:
[ERROR] Failed to execute goal org.eclipse.tycho:tycho-p2-plugin:2.5.0:p2-metadata (attached-p2-metadata) on project org.apache.batik.dom.birt.ext: Execution attached-p2-metadata of goal org.eclipse.tycho:tycho-p2-plugin:2.5.0:p2-metadata failed. IllegalArgumentException -> [Help 1]
error happens because of missing metadata in org.apache.batik.dom.birt.ext-1.14.0-SNAPSHOT-sources.jar
this in turn happens because we, since the introduction of the "maven-source-plugin" in our parent pom.xml, generate the source bundles twice.
First with we generate the sources with "tycho-source-plugin" and then that generated source bundle is overwritten when we generate the sources again with the "maven-source-plugin".

What happens if we remove the "maven-source-plugin" from the release profile? I think that we can remove the "maven-javadoc-plugin" as well since we generate the javadocs elsewhere (with Ant).

from birt.

wimjongman avatar wimjongman commented on July 20, 2024

from birt.

SteveSchafer-Innovent avatar SteveSchafer-Innovent commented on July 20, 2024

When I remove maven-source-plugin and maven-javadoc-plugin, it gets this error:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:3.0.0:run (javadoc) on project org.eclipse.birt.doc.isv: An Ant BuildException has occured: The following error occurred while executing this line:
[ERROR] /home/jenkins/agent/workspace/birt_4.9.0_maven/docs/org.eclipse.birt.doc.isv/BuildISVDoc.xml:201: Replace: source file /home/jenkins/agent/workspace/birt_4.9.0_maven/docs/org.eclipse.birt.doc.isv/engine/api/index.html doesn't exist
[ERROR] around Ant part ...... @ 7:130 in /home/jenkins/agent/workspace/birt_4.9.0_maven/docs/org.eclipse.birt.doc.isv/target/antrun/build-main.xml
[ERROR] -> [Help 1]

I will try Wim's suggestion also.

from birt.

wimjongman avatar wimjongman commented on July 20, 2024

BuildISVDoc.xml is an ant file that depends on the javadoc being generated by the maven-javadoc-plugin.

from birt.

claesrosell avatar claesrosell commented on July 20, 2024

@SteveSchafer-Innovent, this is actually progress.
This is the same problem that, for unknown reasons, happend in master a couple of weeks ago. And was temporarily fixed with this bug: #917.
@wimjongman : It is my understanding that the javadocs that BuildISVDoc.xml is dependent on is generated in BuildISVDoc.xml itself, it is not dependent on : maven-javadoc-plugin.

from birt.

wimjongman avatar wimjongman commented on July 20, 2024

@claesrosell that could be, I just derived from what I saw. Apologies for the confusion.

from birt.

SteveSchafer-Innovent avatar SteveSchafer-Innovent commented on July 20, 2024

I copied the changes from pr 920. Now we have this:

[ERROR] Failed to execute goal org.eclipse.tycho:tycho-packaging-plugin:2.7.1:package-feature (default-package-feature) on project org.eclipse.birt.chart: Execution default-package-feature of goal org.eclipse.tycho:tycho-packaging-plugin:2.7.1:package-feature failed: Duplicate key org.eclipse.swt (attempted merging values org.eclipse.tycho.model.Feature$ImportRef@d05993c2 and org.eclipse.tycho.model.Feature$ImportRef@387574f4) -> [Help 1]

Note: we are currently using Tycho 2.7.1. I should probably switch it back to 2.5.0 to eliminate that difference from 4.10.

from birt.

SteveSchafer-Innovent avatar SteveSchafer-Innovent commented on July 20, 2024

I'm not seeing org.eclipse.birt on sonatype. I've left a question on the github issue.

from birt.

claesrosell avatar claesrosell commented on July 20, 2024

From what I can see in the build log (https://ci.eclipse.org/birt/job/birt_4.9.0_maven/16/) we are still calling:
mvn clean verify
I think that one need to call
mvn clean deploy
To deploy to a external repository. I might be wrong though, I have never done this myself.

from birt.

wimjongman avatar wimjongman commented on July 20, 2024

Yes, that is correct. Good catch.

from birt.

wimjongman avatar wimjongman commented on July 20, 2024

I changed that and started the build again.

from birt.

SteveSchafer-Innovent avatar SteveSchafer-Innovent commented on July 20, 2024

I saw that everything was deployed to snapshots so I removed "-SNAPSHOT" from all the version numbers and pushed. I did that before noticing wim's last comment and now I see that it's building wim's changes. Is there a way to cancel my build?

from birt.

wimjongman avatar wimjongman commented on July 20, 2024

Why did you remove SNAPSHOT and where did you remove it from?

You can cancel a build by pressing the red icon next to it (you must be logged in to ci)

from birt.

SteveSchafer-Innovent avatar SteveSchafer-Innovent commented on July 20, 2024

Oh that explains it. I didn't notice I wasn't logged in.

I changed "4.9.0-SNAPSHOT" to "4.9.0" everywhere. All in pom.xml files. That's what you should do to release to maven central according to this:

https://central.sonatype.org/publish/publish-maven/#nexus-staging-maven-plugin-for-deployment-and-release

from birt.

SteveSchafer-Innovent avatar SteveSchafer-Innovent commented on July 20, 2024

If you feel we are not ready to release to maven central, I can revert my changes. Let me know.

from birt.

wimjongman avatar wimjongman commented on July 20, 2024

Don't remove it from the pom.xml:

https://stackoverflow.com/questions/23501119/remove-snapshot-from-project-version-in-pom

We should go ahead and release it.

from birt.

SteveSchafer-Innovent avatar SteveSchafer-Innovent commented on July 20, 2024

I reverted the changes and added versions:set -DremoveSnapshot to the maven goals in the jenkins configuration.

from birt.

SteveSchafer-Innovent avatar SteveSchafer-Innovent commented on July 20, 2024

That doesn't seem to work. I'll leave this here to see if you have any ideas how to accomplish this other than changing the pom's.

from birt.

SteveSchafer-Innovent avatar SteveSchafer-Innovent commented on July 20, 2024

I've been conversing with Frederick Gurr at gitlab.eclipse.org and he says that it has to be manually released the first time and that I should be able to get permission for [email protected] to release org.eclipse.birt. I'm trying to get that permission now.

from birt.

SteveSchafer-Innovent avatar SteveSchafer-Innovent commented on July 20, 2024

Okay, I think the step to take now is to build with out "-SNAPSHOT" in the versions. Sorry but this whole process is a bit confusing. You can see my conversation with Frederick Gurr at https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/issues/1077.

@wimjongman, Adding versions:set -DremoveSnapshot to the maven goals didn't work. At this point I don't know what to do other than changing all the pom.xml's. Do you have another suggestion?

from birt.

wimjongman avatar wimjongman commented on July 20, 2024

from birt.

SteveSchafer-Innovent avatar SteveSchafer-Innovent commented on July 20, 2024

I think that using versions:set is using the versions plugin, but now that I look at the documentation I see it's a very complicated plugin and I may not be using it correctly. I'll experiment.

from birt.

SteveSchafer-Innovent avatar SteveSchafer-Innovent commented on July 20, 2024

"versions:set -Dremovenapshot" doesn't appear to be working because it's still trying to build everything with "-SNAPSHOT" and it's also getting an error because of not finding dependencies with "-SNAPSHOT", so it's doing something but not the right thing. I may need to try using sed in a script to edit the pom.xml files.

from birt.

claesrosell avatar claesrosell commented on July 20, 2024

Since we are building with Tycho, and the bundle versions and POM.xml versions most much, I think that we need to use the tycho-versions-plugin. I have never used it my self though.
Links

It does not seem to have the "remove snapshot", one need to specify the complete version.

Hopefully there are no version dependent Ant scripts that will cause problems.

from birt.

SteveSchafer-Innovent avatar SteveSchafer-Innovent commented on July 20, 2024

I added a script to get rid of "-SNAPSHOT" in all the pom.xml files and now I get this error:

[ERROR] Failed to execute goal org.eclipse.tycho:tycho-packaging-plugin:2.5.0:validate-version (default-validate-version) on project org.eclipse.birt: Maven version 4.9.0 must have -SNAPSHOT qualifier for SNAPSHOT builds -> [Help 1]

I get the same thing if I build locally. I wondered how to tell Tycho to do a non-snapshot build but then I read that it's necessary to also remove ".qualifier" in the manifests and also saw @claesrosell 's comment, so I will go back to doing it the other way. I found an article on how to do it with maven and tycho: https://www.lorenzobettini.it/2020/02/remove-snapshot-and-qualifier-in-maven-tycho-builds/

from birt.

SteveSchafer-Innovent avatar SteveSchafer-Innovent commented on July 20, 2024

At first I added tycho-versions-plugin:set-version after the clean goal and got errors and also the log indicated that it was still trying to build snapshot versions. So then I moved the tycho-versions-plugin:set-version to a separate build step and now it's definitely building non-snapshot versions and it gets a lot further (build 26), but now it fails with an ant error:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:3.0.0:run (default) on project NLpack1-birt-charts: An Ant BuildException has occured: src '/home/jenkins/agent/workspace/birt_4.9.0_maven/build/org.eclipse.birt.p2updatesite/target/org.eclipse.birt.p2updatesite-4.9.0-SNAPSHOT.zip' doesn't exist.
[ERROR] around Ant part ...<unzip src="..\..\..\org.eclipse.birt.p2updatesite\target\org.eclipse.birt.p2updatesite-4.9.0-SNAPSHOT.zip" dest="/home/jenkins/agent/workspace/birt_4.9.0_maven/build/birt-packages/birt-nl/birt-charts/target/p2updatesite" />... @ 4:229 in /home/jenkins/agent/workspace/birt_4.9.0_maven/build/birt-packages/birt-nl/birt-charts/target/antrun/build-main.xml

I'm investigating this...

Update: Yes indeed "-SNAPSHOT" is hard-coded into a pom.xml file in the maven-antrun-plugin. Looks like I'll need to use sed in addition to tycho set-version.

from birt.

SteveSchafer-Innovent avatar SteveSchafer-Innovent commented on July 20, 2024

Looks like we are very close. I think it's all building correctly but now we appear to be violating some publishing rule:

[ERROR] Failed to execute goal org.sonatype.plugins:nexus-staging-maven-plugin:1.6.12:deploy (injected-nexus-deploy) on project org.eclipse.birt.xtab-parent: Remote staging failed: Staging rules failure! -> [Help 1]

I'll try to figure out what rule that is.

from birt.

SteveSchafer-Innovent avatar SteveSchafer-Innovent commented on July 20, 2024

Although the build never succeeded, BIRT 4.9.0 appears to be published anyway. At least it appears in sonatype releases. I'll try some experiments to see if it's actually usable.

https://oss.sonatype.org/#view-repositories;releases~browsestorage~org/eclipse/birt

from birt.

JacquesLeRoux avatar JacquesLeRoux commented on July 20, 2024

Hi @SteveSchafer-Innovent ,

I must be missing something, I don't see "BIRT 4.9.0 in sonatype releases", at least not when following your link. I wanted to help by trying in OFBiz too.

from birt.

JacquesLeRoux avatar JacquesLeRoux commented on July 20, 2024

Thanks for the info, looking forward :)

from birt.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.