GithubHelp home page GithubHelp logo

jmini / ecentral Goto Github PK

View Code? Open in Web Editor NEW
6.0 3.0 2.0 731 KB

Script and data around the Eclipse Platform artifacts published on maven central.

Home Page: https://jmini.github.io/ecentral/

License: Eclipse Public License 2.0

Java 100.00%

ecentral's Introduction

ecentral's People

Contributors

jmini avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

amergey hd42

ecentral's Issues

Fixes for 2022-06 release

When 2022-06 was published, there were 2 broken pom (referencing non-existing dependencies because of a wrong groupId).


1) org.eclipse.equinox.preferences

org.eclipse.platform:org.eclipse.equinox.preferences:3.10.0 -> there was a new version published 3.10.1

See org.eclipse.equinox.preferences-3.10.0.pom on maven central.

Original issue eclipse-equinox/equinox.bundles#54


2) org.eclipse.osgi.util

org.eclipse.platform:org.eclipse.osgi.util:3.7.0. -> there was a new version published 3.7.1

See: org.eclipse.osgi.util-3.7.0.pom on maven central.

Original issue eclipse-equinox/equinox.framework#70


Those versions has to be hardcoded so that the BOM file is generated with the versions that work.

Add BOM usage example

  • Example projects
  • CI build for those projects
  • Section in the documentation (using includes)

Add a BOM file for Eclipse release 2022-09

The Eclipse release 2022-09 is out.
Version number: 4.25

A new BOM file should be generated for this release:

<dependency>
    <groupId>fr.jmini.ecentral</groupId>
    <artifactId>eclipse-platform-dependencies</artifactId>
    <version>4.25</version>
    <packaging>pom</packaging>
<dependency>

Dealing with os/architecture for SWT in gradle

Firstly. Thanks for the project. I like the simplicity of the approach, where instead of depending on a gradle plugin, one depends directly on the generated BOM.

I tried using your example for a gradle build using

    implementation platform('fr.jmini.ecentral:eclipse-platform-dependencies:4.22')

but I had problems with SWT.

 > Could not resolve org.eclipse.platform:org.eclipse.swt.${osgi.platform}:3.118.0.

There's a workaround for this (forgot where I found it, so I can't reference the original)

 configurations.all {
    resolutionStrategy {
        dependencySubstitution {
            // The maven property ${osgi.platform} is not handled by Gradle
            // so we replace the dependency, using the osgi platform from the project settings
            substitute module('org.eclipse.platform:org.eclipse.swt.${osgi.platform}') with module("org.eclipse.platform:org.eclipse.swt.cocoa.macosx.aarch64:3.120.0")
        }
    }
}

Unfortunately, this requires plugging in the SWT version, which sort of defeats the purpose of using a platform (I didn't write the original code, so there may be a simple fix I don't know about).

Am I missing something obvious?

Add checksum validation files

When using the BOM file with maven, there is this warning:

Downloading from ecentral: https://raw.githubusercontent.com/jmini/ecentral/HEAD/repo/fr/jmini/ecentral/eclipse-platform-dependencies/4.14/eclipse-platform-dependencies-4.14.pom
[WARNING] Could not validate integrity of download from https://raw.githubusercontent.com/jmini/ecentral/HEAD/repo/fr/jmini/ecentral/eclipse-platform-dependencies/4.14/eclipse-platform-dependencies-4.14.pom: Checksum validation failed, no checksums available
[WARNING] Checksum validation failed, no checksums available from ecentral for https://raw.githubusercontent.com/jmini/ecentral/HEAD/repo/fr/jmini/ecentral/eclipse-platform-dependencies/4.14/eclipse-platform-dependencies-4.14.pom
Downloaded from ecentral: https://raw.githubusercontent.com/jmini/ecentral/HEAD/repo/fr/jmini/ecentral/eclipse-platform-dependencies/4.14/eclipse-platform-dependencies-4.14.pom

Next to the pom file there should be some checksum files (md5, sha1, sha256, sha512).

Add a BOM file for Eclipse release 2022-06

The Eclipse release 2022-06 is out.
Version number: 4.24

A new BOM file should be generated for this release:

<dependency>
    <groupId>fr.jmini.ecentral</groupId>
    <artifactId>eclipse-platform-dependencies</artifactId>
    <version>4.24</version>
    <packaging>pom</packaging>
<dependency>

Prerequisites:

Add non eclipse dependency to the BOM file

The CBI Aggregator configuration file SDK4Mvn.aggr contains some indication called "mavenMappings" describing how to go from the Bundle Symbolic name and the version to the library coordinates in Maven Central.

Example:

  <mavenMappings namePattern="(org\.eclipse\.jdt)\.core\.compiler\.batch" groupId="$1" artifactId="ecj"/>
  <mavenMappings namePattern="(org\.eclipse\.jdt)(.*)" groupId="$1" artifactId="$1$2"/>
  <mavenMappings namePattern="(org\.eclipse\.pde)(.*)" groupId="$1" artifactId="$1$2"/>
  ...

The BOM file created by this project should also consider those mappings.


Example:

As a result of this change, bundle com.ibm.icu (version 64.2.0.v20190507-1337) should be turned to:

<dependency>
    <groupId>com.ibm.icu</groupId>
    <artifactId>icu4j</artifactId>
    <version>64.2</version>
</dependency>

See diffplug/goomph#167 for the related work in Groomph.

Mapping rule for "org.osgi.service.prefs"

The OSGi bundle with id org.osgi.service.prefs is published on Maven Central as:

<dependency>
    <groupId>org.osgi</groupId>
    <artifactId>org.osgi.service.prefs</artifactId>
    <version>[1.1.0,1.2.0)</version>
</dependency>

See eclipse-equinox/equinox.bundles#54 for more details.


Introduced with eclipse-platform/eclipse.platform.releng#48 there is a new mapping:

<mavenMappings namePattern="(org.osgi)(.*)" groupId="$1" artifactId="$1$2"/>

See line 70 of SDK4Mvn.aggr


This probably has to be taken into consideration while creating the 2022-06 BOM file.

Add a BOM file for Eclipse release 2022-03

The Eclipse release 2022-03 is out.
Version number: 4.23

A new BOM file should be generated for this release:

<dependency>
    <groupId>fr.jmini.ecentral</groupId>
    <artifactId>eclipse-platform-dependencies</artifactId>
    <version>4.23</version>
    <packaging>pom</packaging>
<dependency>

Add a BOM file for Eclipse release 2021-12

The Eclipse release 2021-12 is out.
Version number: 4.22

A new BOM file should be generated for this release:

<dependency>
    <groupId>fr.jmini.ecentral</groupId>
    <artifactId>eclipse-platform-dependencies</artifactId>
    <version>4.22</version>
    <packaging>pom</packaging>
<dependency>

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.