Coder Social home page Coder Social logo

notalib / pipeline-mod-nota Goto Github PK

View Code? Open in Web Editor NEW

This project forked from snaekobbi/pipeline-mod-nota

0.0 11.0 4.0 149 KB

Nota specific modules for the DAISY Pipeline 2

Dockerfile 0.58% Makefile 0.49% Java 22.72% XProc 28.95% XSLT 29.12% HTML 4.26% Shell 2.82% SCSS 11.05%

pipeline-mod-nota's Introduction

pipeline-mod-nota

Nota specific modules for the DAISY Pipeline 2

Release procedure

  • View changes since previous release and update version number according to semantic versioning.

    git diff v1.0.0...HEAD
    VERSION=1.0.1
  • Create a release branch.

    git checkout -b release/${VERSION}
  • Resolve snapshot dependencies and commit.

  • Set the version in pom.xml to ${VERSION}-SNAPSHOT and commit.

  • Make release notes and commit. (View changes since previous release with git diff v1.1.0...HEAD and look for relevant Github issues on https://github.com/search)

  • Perform the release with Maven.

  mvn clean release:clean release:prepare -DpushChanges=false
  mvn release:perform -DlocalCheckout=true
  • Push and make a pull request (for turning an existing issue into a PR use the -i <issueno> switch).

    git push origin release/${VERSION}:release/${VERSION}
    hub pull-request -b snaekobbi:master -h snaekobbi:release/${VERSION} -m "Release version ${VERSION}"
  • Stage the artifact on https://oss.sonatype.org and comment on pull request.

    ghi comment -m staged ${ISSUE_NO}
  • Test and stage all projects that depend on this release before continuing.

  • Release the artifact on https://oss.sonatype.org and close pull request.

    ghi comment --close -m released ${ISSUE_NO}
  • Push the tag.

    git push origin v${VERSION}
  • Add the release notes to http://github.com/snaekobbi/pipeline-mod-nota/releases/v${VERSION}.

Testing the packages before running the docker

It requires maven installed and the solution is designed for Java 11.

To see if all the packages download and the project builds first remove the repository folder in your homefolder/.mvn then run mvn clean package -DskipTests It clears any compiled .java sources and downloads all the packages again.

Handling HTTPS requirements by maven.

Many packages are still depending on repositories using http and will be rejected when attempting to fetch from these. To avoid dependency issues a way forward is to add the http repository as a https repository. This way, it will attempt to fetch from the http repository and fail and then attempt to fetch from the https repository and succeed (hopefully).

To accomplish this, inspect the failing package and its repository. Example of a failing package: Transfer failed for http://repo.maven.apache.org/maven2/org/daisy/pipeline/framework-bom/1.11.2/framework-bom-1.11.2.pom 501 HTTPS Required The repository is: repo.maven.apache.org/maven2/ The package path is: org/daisy/pipeline/framework-bom/1.11.2/framework-bom-1.11.2.pom And the error is 501, HTTPS Required.

To avoid this issue for this package and any other package resolving from this repository you need to add a repository and a plugin repository to the POM.xml file of the project inside the project tag.

<repositories>
	<repository>
    	<id>repo.maven.apache.org-https</id> <!-- Can be anything, for reference and must be unique -->
        <name>repo.maven.apache.org HTTPS</name> <!-- Can be anything, for reference -->
        <url>https://repo.maven.apache.org/maven2/</url> <!-- The same repository as the one failing, except it uses https instead of http -->
	</repository>
</repositories>
<pluginRepositories>
	<pluginRepository>
		<id>repo.maven.apache.org-https</id> <!-- Can be anything, for reference and must be unique -->
		<name>repo.maven.apache.org HTTPS</name> <!-- Can be anything, for reference -->
		<url>https://repo.maven.apache.org/maven2/</url> <!-- The same repository as the one failing, except it uses https instead of http -->
	</pluginRepository>
</pluginRepositories>

The tags repositories and pluginRepositories just sums up all the various added repositories and pluginRepositories.

pipeline-mod-nota's People

Contributors

bertfrees avatar rainnwind avatar stesk avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

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.