Skip to content
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

Missing 1.2.10 release #1

Closed
moto-timo opened this issue Sep 11, 2016 · 6 comments
Closed

Missing 1.2.10 release #1

moto-timo opened this issue Sep 11, 2016 · 6 comments

Comments

@moto-timo
Copy link

Latest release is v1.2.10 from:
http://www.cafeconleche.org/XOM/

@elharo
Copy link
Owner

elharo commented Oct 14, 2016

That's correct. Why do you think it's missing? Is a link broken somewhere?

@stokito
Copy link

stokito commented Nov 3, 2016

Hi @elharo
I can't find a v1.2.10 release on Maven Central.
But there is a https://search.maven.org/#artifactdetails%7Ccom.io7m.xom%7Cxom%7C1.2.10%7Cjar
with another groupId
Could you deploy the v1.2.10 to Maven Central?

@io7m
Copy link

io7m commented Feb 12, 2017

@stokito I'm responsible for that deployment on Central.

I sent a message to the mailing list asking if there were any plans to deploy, but got no response, so I deployed it myself under a different group ID. You can check the hashes to verify that the jars have not been modified.

@elharo I'm not sure if you've deployed to Central before, I'd be happy to talk you through the process if you need it. Failing that, I'm willing to take responsibility for deploying the jars to the real nu.xom group ID on Central.

@elharo
Copy link
Owner

elharo commented Feb 12, 2017

I have no particular plans to deploy to maven central. It's open source. Anyone's welcome to do it if they feel so inclined. I'm not sure what would be required in terms of patching the repo.

@io7m
Copy link

io7m commented Feb 12, 2017

I suspect there'd only need to be a couple of minor metadata updates in order to publish XOM using the existing pom.xml. I'll take a look at it and send a pull request if anything is needed.

I published under my own group ID originally in order to avoid taking the nu.xom group ID for myself. If you like, I will take responsibility for nu.xom and deploy packages there.

@stokito
Copy link

stokito commented Feb 12, 2017

@io7m thank you for explanation. It would be great if you deploy the artifact under original nu.xom groupId because then Maven mvn versions:display-dependency-updates will show the updates.
Thank you in advance

io7m added a commit to io7m/xom that referenced this issue Feb 14, 2017
This commit encompasses a number of changes to convert the project
from a traditional Ant-style build into a more modern Maven-style
build. This comes with the usual benefits of declarative dependency
management, easy deployment to Maven Central, centralization of project
metadata such as version numbers, the removal of fragile imperative
build scripts, better IDE support, and the production of *correct*
OSGi bundles by default.

Some trade-offs were made between strictly following Maven
conventions, and producing build artifacts that look and behave
the same as previous XOM releases. The choice was made to preserve
compatibility in preference to arguably more solid engineering
practices: No attempt was made to modularize the codebase, and the
general approach taken by the Ant build was minimally transformed
into its Maven equivalent. Primarily, this commit defines a new POM
file and moves the project sources into something fairly close to
the standard Maven conventions.

  * The bulk of the sources moved from src to src/main/java
  * The contents of "fatsrc" (the String based Text object
    implementation) were moved to src/main/java-fat
  * The default Text object implementation was moved from src
    to src/main/java-lowfat
  * Sample code was moved to src/samples/java
  * Unit tests were moved to src/test/java
  * Resource files such as characters.dat were moved from src
    to src/main/resources
  * The <= JDK 1.5 sources were moved to src/main/java-jdk15

This division of source files allows for stronger separation of
dependencies: The library previously declared a non-optional dependency
on JUnit simply because the test files lived in the same source tree.
A few very minimal code changes were required to look up resources
in /nu/xom instead of /src/java/nu/xom. This junit dependency actually
prevented the XOM bundle from resolving inside OSGi containers unless
the not-currently-OSGi-compatible junit package was deployed inside
the container.

The custom Ant tasks have been turned into Maven profiles: Enabling
the "nu.xom.lowfat" profile adds the src/main/java-lowfat directory
to the build. This happens by default. Enabling the "nu.xom.fat"
profile instead adds the src/main/java-fat directory to the build.
The "nu.xom.jdk15" profile is enabled if a JDK older than 1.6 is
detected, and this adds the src/main/java-jdk15 directory to the
build. Finally, the "nu.xom.deployment" profile is enabled if a
"nu.xom.deployment" property is defined in the environment (via
Maven's ~/.m2/settings.xml or on the command line with -D). This is
provided to conditionally enable the PGP signing of all artifacts
for deployment to Maven Central.

Additionally, this commit folds the website generation work
into declarations bound to the standard Maven "site" phase. It
uses the maven-source-plugin and maven-javadoc-plugin to generate
Central-compliant source and javadoc JARs that work nicely in IDEs.
The POM file also contains accurate links to the current mailing list,
issue tracker, GitHub source repos, etc. The Apache Felix Maven Bundle
plugin is used to produce JAR files that have manifests identical to
those produced by the old Ant task whilst also containing somewhat more
"correct" OSGi metadata.

Affects elharo#8
Affects elharo#1
@elharo elharo closed this as completed Feb 28, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants