gradle Java build, README, travis yml
This commit is contained in:
parent
a00c9708a8
commit
6856d2116b
4 changed files with 64 additions and 8 deletions
12
.travis.yml
Normal file
12
.travis.yml
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
language: java
|
||||||
|
sudo: required
|
||||||
|
jdk:
|
||||||
|
- oraclejdk8
|
||||||
|
cache:
|
||||||
|
directories:
|
||||||
|
- $HOME/.m2
|
||||||
|
after_success:
|
||||||
|
- ./gradlew sonarqube -Dsonar.host.url=https://sonarqube.com -Dsonar.login=$SONAR_TOKEN
|
||||||
|
env:
|
||||||
|
global:
|
||||||
|
secure: n1Ai4q/yMLn/Pg5pA4lTavoJoe7mQYB1PSKnZAqwbgyla94ySzK6iyBCBiNs/foMPisB/x+DHvmUXTsjvquw9Ay48ZITCV3xhcWzD0eZM2TMoG19CpRAEe8L8LNuYiti9k89ijDdUGZ5ifsvQNTGNHksouayAuApC3PrTUejJfR6SYrp1ZsQTbsMlr+4XU3p7QknK5rGgOwATIMP28F+bVnB05WJtlJA3b0SeucCurn3wJ4FGBQXRYmdlT7bQhNE4QgZM1VzcUFD/K0TBxzzq/otb/lNRSifyoekktDmJwQnaT9uQ4R8R6KdQ2Kb38Rvgjur+TKm5i1G8qS2+6LnIxQJG1aw3JvKK6W0wWCgnAVVRrXaCLday9NuY59tuh1mfjQ10UcsMNKcTdcKEMrLow506wSETcXc7L/LEnneWQyJJeV4vhPqR7KJfsBbeqgz3yIfsCn1GZVWFlfegzYCN52YTl0Y0uRD2Z+TnzQu+Bf4DzaWXLge1rz31xkhyeNNspub4h024+XqBjcMm6M9mlMzmmK8t2DIwPy/BlQbFBUyhrxziuR/5/2NEDPyHltvWkRb4AUIa25WJqkV0gTBegbMadZ9DyOo6Ea7aoVFBae2WGR08F1kzABsWrd1S7UJmWxW35iyMEtoAIayXphIK98qO5aCutwZ+3iOQazxbAs=
|
42
README.adoc
Normal file
42
README.adoc
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
# xbib Jacc
|
||||||
|
|
||||||
|
image:https://api.travis-ci.org/xbib/jacc.svg[title="Build status", link="https://travis-ci.org/xbib/jacc/"]
|
||||||
|
image:https://img.shields.io/sonar/http/nemo.sonarqube.com/org.xbib%3Ajacc/coverage.svg?style=flat-square[title="Coverage", link="https://sonarqube.com/dashboard/index?id=org.xbib%3Ajacc"]
|
||||||
|
image:https://maven-badges.herokuapp.com/maven-central/org.xbib/jacc/badge.svg[title="Maven Central", link="http://search.maven.org/#search%7Cga%7C1%7Cxbib%20jacc"]
|
||||||
|
image:https://img.shields.io/badge/License-BSD%203--Clause-blue.svg[title="BSD 3-clause License", link="https://opensource.org/licenses/BSD-3-Clause"]
|
||||||
|
image:https://img.shields.io/twitter/url/https/twitter.com/xbib.svg?style=social&label=Follow%20%40xbib[title="Twitter", link="https://twitter.com/xbib"]
|
||||||
|
image:https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif[title="PayPal", link="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=GVHFQYZ9WZ8HG"]
|
||||||
|
|
||||||
|
This is xbib Jacc, a derived work of Mark P. Jones' jacc project at http://web.cecs.pdx.edu/~mpj/jacc/
|
||||||
|
|
||||||
|
jacc is a parser generator for Java that is closely modeled on Johnson’s classic yacc parser generator for C.
|
||||||
|
|
||||||
|
What makes jacc different from other tools?
|
||||||
|
|
||||||
|
- Close syntactic compatibility with Johnson’s classic yacc parser gen- erator for C (in so far as is possible given that the two tools target different languages)
|
||||||
|
|
||||||
|
- Semantic compatibility with yacc—jacc generates bottom-up/shift-reduce parsers for LALR(1) grammars with disambiguating rules
|
||||||
|
|
||||||
|
- A pure Java implementation that is portable and runs on many Java development platforms
|
||||||
|
|
||||||
|
- Modest additions to help users understand and debug generated parsers, including: a feature for tracing parser behavior on sample inputs and tests for LR(0) and SLR(1) conflicts
|
||||||
|
|
||||||
|
- A mechanism for generating syntax error messages from examples based on ideas described by Jeffery
|
||||||
|
|
||||||
|
- Generated parsers that use the technique described by Bhamidipaty and Proebsting for creating very fast yacc-compatible parsers by generating code instead of encoding the specifics of a particular parser in a set of tables as the classic yacc implementations normally do
|
||||||
|
|
||||||
|
xbib Jacc has the following extra features and modifications:
|
||||||
|
|
||||||
|
- build system is Gradle
|
||||||
|
|
||||||
|
- Java 8, compiles under JRE profile `compact1`
|
||||||
|
|
||||||
|
- removed HTML output
|
||||||
|
|
||||||
|
- added logging
|
||||||
|
|
||||||
|
- lots of fixes to conform to sonarqube rules
|
||||||
|
|
||||||
|
- junit tests
|
||||||
|
|
||||||
|
There is a Gradle plugin for jacc available at https://github.com/jprante/gradle-plugin-jacc
|
17
build.gradle
17
build.gradle
|
@ -3,9 +3,9 @@ plugins {
|
||||||
}
|
}
|
||||||
|
|
||||||
ext {
|
ext {
|
||||||
user = 'jprante'
|
user = 'xbib'
|
||||||
name = 'jacc'
|
name = 'jacc'
|
||||||
description = 'Java implementation of Yet Another Compiler-Compiler'
|
description = 'A Java implementation of yacc (yet another compiler-compiler)'
|
||||||
scmUrl = 'https://github.com/' + user + '/' + name
|
scmUrl = 'https://github.com/' + user + '/' + name
|
||||||
scmConnection = 'scm:git:git://github.com/' + user + '/' + name + '.git'
|
scmConnection = 'scm:git:git://github.com/' + user + '/' + name + '.git'
|
||||||
scmDeveloperConnection = 'scm:git:git://github.com/' + user + '/' + name + '.git'
|
scmDeveloperConnection = 'scm:git:git://github.com/' + user + '/' + name + '.git'
|
||||||
|
@ -22,14 +22,11 @@ apply plugin: 'pmd'
|
||||||
apply plugin: 'checkstyle'
|
apply plugin: 'checkstyle'
|
||||||
apply plugin: 'jacoco'
|
apply plugin: 'jacoco'
|
||||||
|
|
||||||
sourceCompatibility = 1.8
|
sourceCompatibility = JavaVersion.VERSION_1_8
|
||||||
targetCompatibility = 1.8
|
targetCompatibility = JavaVersion.VERSION_1_8
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
mavenCentral()
|
mavenCentral()
|
||||||
maven {
|
|
||||||
url "http://xbib.org/repository"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
configurations {
|
configurations {
|
||||||
|
@ -41,6 +38,12 @@ dependencies {
|
||||||
wagon 'org.apache.maven.wagon:wagon-ssh-external:2.10'
|
wagon 'org.apache.maven.wagon:wagon-ssh-external:2.10'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
[compileJava, compileTestJava]*.options*.encoding = 'UTF-8'
|
||||||
|
tasks.withType(JavaCompile) {
|
||||||
|
options.compilerArgs << "-Xlint:all" << "-profile" << "compact1"
|
||||||
|
}
|
||||||
|
|
||||||
test {
|
test {
|
||||||
testLogging {
|
testLogging {
|
||||||
showStandardStreams = false
|
showStandardStreams = false
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
package org.xbib.jacc;
|
package org.xbib.jacc;
|
||||||
|
|
||||||
import org.junit.Ignore;
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.xbib.jacc.helper.StreamMatcher;
|
import org.xbib.jacc.helper.StreamMatcher;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue