GithubHelp home page GithubHelp logo

shizhaojingszj / polyglot-java Goto Github PK

View Code? Open in Web Editor NEW

This project forked from vakuum/polyglot-java

0.0 1.0 0.0 89 KB

A demonstration on how to integrate different JVM languages into a multi-module Maven build.

License: MIT License

Java 60.33% Clojure 5.00% Frege 3.53% Gosu 4.19% Groovy 4.60% Kotlin 4.00% Python 3.39% Ruby 5.71% Scala 4.94% Xtend 4.32%
jython

polyglot-java's Introduction

polyglot-java Build Status

polyglot-java demonstrates how to integrate different JVM languages into a multi-module Maven build.

Covered Languages

Requirements

Java 1.8.0

$ export JAVA_HOME=/opt/jdk-1.8.0
$ export PATH=$JAVA_HOME/bin:$PATH

$ java -version
java version "1.8.0_131"
...

Maven 3.5

$ export M2_HOME=/opt/maven-3.5
$ export PATH=$M2_HOME/bin:$PATH

$ mvn --version
Apache Maven 3.5.0 (ff8f5e7444045639af65f6095c62210b5713f426; 2017-04-03T21:39:06+02:00)
...

Usage

$ git clone https://github.com/vakuum/polyglot-java.git

Execute

$ cd polyglot-java
$ cat all/src/main/java/polyglot/All.java
$ mvn clean install -DskipTests
$ mvn exec:java --projects all
...
Hello, I am Java!
Clojure: Hello Java!
Frege: Hello Java!
Gosu: Hello Java!
Groovy: Hello Java!
Java: Hello Java!
Kotlin: Hello Java!
Python: Hello Java!
Ruby: Hello Java!
Scala: Hello Java!
Xtend: Hello Java!
...

Execute a specific module

$ cd polyglot-java
$ mvn clean install -DskipTests
$ mvn exec:java --projects clojure
...
Clojure: Hello Clojure!
...

$ mvn exec:java --projects frege
...
Frege: Hello Frege!
...

$ mvn exec:java --projects gosu
...
Gosu: Hello Gosu!
...

$ mvn exec:java --projects groovy
...
Groovy: Hello Groovy!
...

$ mvn exec:java --projects java
...
Java: Hello Java!
...

$ mvn exec:java --projects kotlin
...
Kotlin: Hello Kotlin!
...

$ mvn exec:java --projects python
...
Python: Hello Python!
...

$ mvn exec:java --projects ruby
...
Ruby: Hello Ruby!
...

$ mvn exec:java --projects scala
...
Scala: Hello Scala!
...

$ mvn exec:java --projects xtend
...
Xtend: Hello Xtend!
...

Executable JAR

$ cd polyglot-java
$ mvn clean install -DskipTests
$ mvn assembly:assembly --projects all -DskipTests
$ java -jar all/target/polyglot-java.jar
...
Hello, I am Java!
Clojure: Hello Java!
Frege: Hello Java!
Gosu: Hello Java!
Groovy: Hello Java!
Java: Hello Java!
Kotlin: Hello Java!
Python: Hello Java!
Ruby: Hello Java!
Scala: Hello Java!
Xtend: Hello Java!
...

Tests

$ cd polyglot-java
$ cat all/src/test/java/polyglot/TestAll.java
$ mvn clean install -DskipTests
$ mvn test --projects all
...
Tests run: 11, Failures: 0, Errors: 0, Skipped: 0
...

License

Copyright (c) 2012-2017 Clemens Fuchslocher, released under the MIT license.

polyglot-java's People

Contributors

vakuum avatar

Watchers

James Cloos 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.