Menu

#1551 Migrate packages from Bintray to Maven Central

5.4.4
closed-fixed
None
5
2021-04-21
2021-02-03
No

Bintray is shutting down. Current data will remain available only until May 1, 2021. After that, OmegaT will no longer be buildable for users who don't already have the affected packages in their local cache.

We use the following packages on Bintray:

  • Published by omegat-org
    • jmyspell-core
    • lib-mnemonics
    • htmlparser
    • gnudiff4j
    • lucene-core (see [bugs:#813])
    • vldocking
    • lucene-gosen (see [bugs:#814])
    • juniversalchardet (disused)
    • OmegaT
  • Published by amake
    • SuperTMXMerge
    • DesktopSupport
  • Published by dictzip
    • dictzip-lib

The ones still in use will need to be migrated to another host. Which host to use is undecided. Candidates:

Related

Bugs: #813
Bugs: #814

Discussion

1 2 > >> (Page 1 of 2)
  • Aaron Madlon-Kay

    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -1,4 +1,4 @@
    -[Bintray is shutting down](https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/). Current data will remain available only until May 1, 2021.
    +[Bintray is shutting down](https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/). Current data will remain available only until May 1, 2021. After that, OmegaT will no longer be buildable for users who don't already have the affected packages in their local cache.
    
     We publish the following [packages on Bintray](https://bintray.com/beta/#/omegat-org/maven?tab=packages):
    
     
  • Aaron Madlon-Kay

    • summary: Migrate dependencies off of Bintray --> Migrate packages off of Bintray
     
  • Aaron Madlon-Kay

    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -8,7 +8,7 @@
     - gnudiff4j
     - lucene-core (see [bugs:#813])
     - vldocking
    -- lucene-gosen (see [bugs#814])
    +- lucene-gosen (see [bugs:#814])
     - juniversalchardet (disused)
     - OmegaT
    
     

    Related

    Bugs: #813
    Bugs: #814

  • Hiroshi Miura

    Hiroshi Miura - 2021-02-07

    Dependency: dictzip-java is also hosted on bintray/JCenter that should be also migrated and omegat should see it.

     

    Last edit: Hiroshi Miura 2021-02-08
    • Aaron Madlon-Kay

      Thanks for pointing that out.

       
  • Hiroshi Miura

    Hiroshi Miura - 2021-02-08

    Gitlab package & registory may be alternative.

     
    • Aaron Madlon-Kay

      Thanks for that. I'm worried about Maven Central (cumbersome process) and GitHub (restrictive transfer limits outside of GitHub) so it's good to have some more options.

       
  • Aaron Madlon-Kay

    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -2,15 +2,21 @@
    
     We publish the following [packages on Bintray](https://bintray.com/beta/#/omegat-org/maven?tab=packages):
    
    -- jmyspell-core
    -- lib-mnemonics
    -- htmlparser
    -- gnudiff4j
    -- lucene-core (see [bugs:#813])
    -- vldocking
    -- lucene-gosen (see [bugs:#814])
    -- juniversalchardet (disused)
    -- OmegaT
    +- Published by [omegat-org](https://bintray.com/omegat-org/maven)
    +    - jmyspell-core
    +    - lib-mnemonics
    +    - htmlparser
    +    - gnudiff4j
    +    - lucene-core (see [bugs:#813])
    +    - vldocking
    +    - lucene-gosen (see [bugs:#814])
    +    - juniversalchardet (disused)
    +    - OmegaT
    +- Published by [amake](https://bintray.com/amake/maven)
    +    - SuperTMXMerge
    +    - DesktopSupport
    +- Published by [dictzip](https://bintray.com/dictzip/maven)
    +    - dictzip-lib
    
     The ones still in use will need to be migrated to another host. Which host to use is undecided. Candidates:
    
     

    Related

    Bugs: #813
    Bugs: #814

  • Aaron Madlon-Kay

    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -1,6 +1,6 @@
     [Bintray is shutting down](https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/). Current data will remain available only until May 1, 2021. After that, OmegaT will no longer be buildable for users who don't already have the affected packages in their local cache.
    
    -We publish the following [packages on Bintray](https://bintray.com/beta/#/omegat-org/maven?tab=packages):
    +We use the following packages on Bintray:
    
     - Published by [omegat-org](https://bintray.com/omegat-org/maven)
         - jmyspell-core
    
     
  • Aaron Madlon-Kay

    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -22,3 +22,4 @@
    
     - [Maven Central](https://maven.apache.org/repository/index.html)
     - [GitHub Packages](https://github.com/features/packages)
    +- [Gitlab Packages & Registries](https://docs.gitlab.com/ee/user/packages/)
    
     
  • msoutopico

    msoutopico - 2021-02-11

    A friend has recommended https://jitpack.io/, in case it helps.

     
    • Hiroshi Miura

      Hiroshi Miura - 2021-02-12

      They claims "jitpack is always free for Open-Source". It seems a candidate.

       
      • Hiroshi Miura

        Hiroshi Miura - 2021-03-10

        Jitpack trial report

        I've tried jitpack.io on the project EB4j https://github.com/eb4j/eb4j

        howto

        1. I've just refer jitpack.io repository on omegat-plugin-epwing project(user project).

          repositories { maven { url = uri("https://jitpack.io") } }

        2. Reload gradle project of user project: omegat-plugin-epwing

        3. jitpack run automatically see git repository and build Just-In-Time manner, and then provide artifact to user project.
        4. When see project page on https://jitpack.io/#eb4j/eb4j, I can see a build log. https://jitpack.io/com/github/eb4j/eb4j/v2.0.0/build.log

        It is easy for library projects hosted on github, that produce just a library artifact.
        jitpack.io seems to see Github releases to get version tag/commit id.

        evaluation

        I cannot succeed to use a package on jitpack.io in my downstream project.
        I give up to use jitpack.io now.

         

        Last edit: Hiroshi Miura 2021-03-11
        • Hiroshi Miura

          Hiroshi Miura - 2021-03-11

          Jitpack trial report(2)

          For build dependency, I've checked capability with jitpack.io.
          It is not good for OmegaT delivery process.

          DesktopSupport become a failure on jitpack build process.
          https://jitpack.io/#amake/desktopsupport

          dictzip and supertmxmerge have passed the build.
          https://jitpack.io/#amake/supertmxmerge
          https://jitpack.io/#dictzip/dictzip-java

          A modification is like as follows;

          --- a/build.gradle
          +++ b/build.gradle
          @@ -67,7 +67,10 @@ sourceSets {
           }
          
           repositories {
          -    jcenter()
          +    mavenCentral()
          +    maven {
          +        url 'https://jitpack.io'
          +    }
               maven {
                   url 'https://dl.bintray.com/omegat-org/maven'
               }
          @@ -124,7 +127,7 @@ dependencies {
                   implementation 'net.loomchild:maligna:3.0.0'
          
                   // Dictionary
          -        implementation 'org.dict.zip:dictzip-lib:0.9.1'
          +        implementation 'com.github.dictzip:dictzip-java:0.9.1'
                   implementation 'com.github.takawitter:trie4j:0.9.8'
          
                   // Encoding dectection
          @@ -163,7 +166,7 @@ dependencies {
                   implementation 'org.tmatesoft.svnkit:svnkit:1.8.14'
          
                   // Team project conflict resolution
          -        implementation 'org.madlonkay.supertmxmerge:supertmxmerge:2.0.1'
          +        implementation 'com.github.amake:supertmxmerge:2.0.1'
          
                   // Credentials encryption
                   implementation 'org.jasypt:jasypt:1.9.3'
          
           
          • Aaron Madlon-Kay

            Thank you so much for your investigations! It's very helpful.

             
  • Hiroshi Miura

    Hiroshi Miura - 2021-03-10

    PackageCloud.io is another candidate.
    https://packagecloud.io/pricing

    they said

    packagecloud supports Open Source Projects
    Thousands of open source projects rely on packagecloud to distribute
    their software around the world for free.

    Contact us to start distributing your open source project with packagecloud

     
  • Hiroshi Miura

    Hiroshi Miura - 2021-03-11

    Github package repository

    Currently they don't have a configuration to publish package to public without authentication. User who want to use published package need to authenticate on Github with read permission for target package repository.

    Example for publish: https://github.com/eb4j/eb4j
    Example for reference: https://github.com/miurahr/omegat-plugin-epwing

     

    Last edit: Hiroshi Miura 2021-03-11
    • Hiroshi Miura

      Hiroshi Miura - 2021-03-11

      For OSS project, github package repository is available to ALL Github users.
      A dummy gh account, which is not a member of group of the repository, can access public repository with a credential of dummy account.

      It means that developers and translation team admins, who want to use package from github package repository, should register github service and authenticate its id/pass_or_token to download our package.

      It is ok for plugin developers who have already used github.
      It is ok for translation admins who use github as team repository and gh actions as a QA process by using Gradle's omegat plugin.

      It may be acceptable for OmegaT build process, because known core developers have already been a github user.

       
  • Hiroshi Miura

    Hiroshi Miura - 2021-03-13

    Gitlab packages

    I've tried gitlab packages with following gradle configuration, but not succeeded because of server error for upload.

    publishing {
        repositories {
                maven {
                // FIXME: not working: error with 415 unsupported media type
                name = "GitLabPackages"
                url = "https://gitlab.com/api/v4/groups/dictzip/-/packages/maven"
                credentials(HttpHeaderCredentials) {
                    def jobToken = System.getenv("CI_JOB_TOKEN")
                    if (jobToken != null) {
                        // GitLab CI
                        name = "Job-Token"
                        value = System.getenv("CI_JOB_TOKEN")
                    } else {
                        name = "Private-Token"
                        value = System.getenv("GITLAB_TOKEN")
                    }
                }
                authentication {
                    header(HttpHeaderAuthentication)
                }
            }
        }
    }
    
     
  • Hiroshi Miura

    Hiroshi Miura - 2021-03-15

    I'd like to propose to add MavenCentral and Github Packages.
    https://github.com/omegat-org/omegat/pull/79

     
  • Aaron Madlon-Kay

    Thanks very much for your reports, Hiroshi.

    I am wary of any host other than Maven Central disappearing the same way JCenter will soon. So I am looking to move all of our packages to Maven Central via Sonatype OSSRH. I've submitted tickets for my own packages and if all goes well I will move the OmegaT packages as well.

     
  • Aaron Madlon-Kay

    I thought about implementing [#1299] to avoid having to move some of the dependencies to Maven Central, but I decided that it's important to move everything so that historical versions of OmegaT can be built without too much trouble.

     

    Related

    Feature Requests: #1299

1 2 > >> (Page 1 of 2)

Log in to post a comment.