Giter Site home page Giter Site logo

annotated-libraries's Introduction

Despite its name annotated-libraries, this repository contains only binaries for the annotated JDK. Binaries for other annotated libraries can be found at https://search.maven.org/search?q=annotatedlib .

The Checker Framework can download the annotated JDK from this repository rather than building it, which would take a long time. Which version of the JDK is determined by the commit hash jdkShaHash specified in checker/build.gradle.

If you commit to this repository, no build will use the new version. This means that:

  • committing to this repository cannot break anyone else's build, and
  • you need to update the Checker Framework to refer to the version you added to this repository.

How to update the binaries in this repository

If you make a pull request that changes the annotated JDK source code in the checker-framework repository, you should add a new annotated JDK binary to this repository.

(You also need to make the same edits in the Java 11 annotated JDK, in repository https://github.com/typetools/jdk. Ensure that each of the pull requests refers to the other, so that they can be merged at the same time.)

  1. In the branch that contains your Checker Framework pull request, run (using JDK 8):
    git pull [email protected]:typetools/checker-framework.git
    ./gradlew buildJdk -PuseLocalJdk
  1. Upload checker/jdk/jdk8.jar to this repository. The commit message should mention the fork and branch. For example: "Fork mernst, branch remove-nullness-rawness-checker"

    If you do not have write permission in this repository, make a pull request, wait for it to be merged, and then proceed with step 4; after which the maintainers will perform step 5.

    If you have write permission to this repository, you upload in one of two ways:

  2. In the branch that contains your Checker Framework pull request, in file checker/build.gradle, set jdkShaHash to the hash of your commit in this repository. Commit and push.

  3. Wait for CI to successfully build the pull request. If the pull request suffers a merge conflict on the line that contains the commit hash, then start over at step 1.

  4. Merge the pull request. Don't squash-and-merge because that changes the SHA hash. Never merge any pull request that does not pass its tests!

How to determine from what sources a particular annotated JDK binary was built

Running unzip -p jdk8.jar META-INF/MANIFEST.MF outputs something like:

Manifest-Version: 1.0
Checker-Framework-Version: 2764d848a
Creation-Date: Wed 03 Jul 2019 03:57:29 PM PDT
Created-By: 1.8.0_212 (Oracle Corporation)

The Checker-Framework-Version is the commit hash from which the annotated JDK was built. The commit message should tell you from which fork and branch of the Checker Framework the sources are.

annotated-libraries's People

Contributors

jwaataja avatar kakarot-ssj4 avatar kelloggm avatar maxi17 avatar mernst avatar nhatdinh avatar panacekcz avatar smillst avatar t-rasmud avatar the1derer avatar wmdietl avatar xingweitian avatar

Watchers

 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.