Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lgrignon/jsweet-gradle-plugin
Brings the power of JSweet to Gradle
https://github.com/lgrignon/jsweet-gradle-plugin
Last synced: about 7 hours ago
JSON representation
Brings the power of JSweet to Gradle
- Host: GitHub
- URL: https://github.com/lgrignon/jsweet-gradle-plugin
- Owner: lgrignon
- License: apache-2.0
- Created: 2015-12-18T15:26:08.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2022-11-15T17:50:00.000Z (almost 2 years ago)
- Last Synced: 2023-02-26T21:22:12.867Z (over 1 year ago)
- Language: Java
- Size: 214 KB
- Stars: 16
- Watchers: 7
- Forks: 15
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# JSweet Gradle plugin
Brings the power of JSweet to Gradle
## Usage
Add the JSweet's repositories and the Gradle plugin dependency to your project's build.gradle, in the buildScript section:```groovy
buildscript {
repositories {
mavenCentral()
maven { url "https://repository.jsweet.org/artifactory/libs-release-local" }
maven { url "https://repository.jsweet.org/artifactory/libs-snapshot-local" }
maven { url "https://repository.jsweet.org/artifactory/plugins-release-local" }
maven { url "https://repository.jsweet.org/artifactory/plugins-snapshot-local" }
maven { url "https://google-diff-match-patch.googlecode.com/svn/trunk/maven" }
}
dependencies {
classpath('org.jsweet:jsweet-gradle-plugin:3.1.0') {
transitive = true
}
}
}
```Then apply the JSweet Gradle plugin, as usual:
```groovy
apply plugin: 'org.jsweet.jsweet-gradle-plugin'
```and optionally disable java compilation (JSweet sources may not be considered as standard java sources):
```groovy
compileJava {
enabled = false
}
```Add your JSweet dependencies (candies):
```groovy
dependencies {
compile group: 'org.jsweet', name: 'jsweet-transpiler', version: "3.0.0"
compile group: 'org.jsweet', name: 'jsweet-core', version: "6"
compile group: 'org.jsweet.candies', name: 'angular', version: "1.4.0-20170726"
compile group: 'org.jsweet.candies', name: 'angular-route', version: "1.2.0-20170726"
}
```Configure the JSweet plugin:
```groovy
jsweet {
verbose = true
encoding = 'UTF-8'
sourceMap = true
outDir = project.file('target/javascript')
candiesJsOut = project.file('target/candies')
targetVersion = 'ES6'
includes = ['**/fr/test/my/**/*.java']
// extraSystemPath = '/my/path/to/npm'
}```
The configuration options are based on the JSweet maven plugin options, please refer to its README for a comprehensive documentation:
https://github.com/lgrignon/jsweet-maven-plugin#basic-configurationThen, just invoke one of the JSweet gradle task:
```
$ gradle jsweet
``````
$ gradle jsweetClean
```## Development / Contribution / Deploy
Make sure your `JAVA_HOME` points to a JDK 11 installation.
Currently, the `check` target seems to be failing, missing some JUnit dependencies.
You can build and assemble the plugin as follows:
```
./gradlew clean assemble
```
For manual testing with other local Gradle projects using JSweet:
```
./gradlew publishToMavenLocal
```
You may find you need to set `skipSigning` for this to succeed.In the client project, add to `settings.gradle`:
```
pluginManagement {
// includeBuild '../../../Projects/jsweet-gradle-plugin'
resolutionStrategy {
eachPlugin {
if (requested.id.namespace == 'org.jsweet') {
useModule('org.jsweet:jsweet-gradle-plugin:3.1.0')
}
}
}
repositories {
mavenLocal()
gradlePluginPortal()
}
}
```
Without the `resolutionStrategy`, Gradle may fail looking for an ID ending in `.gradle.plugin`.In the client project `build.gradle`, add:
```
buildscript {
repositories {
mavenLocal()
mavenCentral()
maven { url "https://repository.jsweet.org/artifactory/libs-release-local" }
maven { url "https://repository.jsweet.org/artifactory/libs-snapshot-local" }
maven { url "https://repository.jsweet.org/artifactory/plugins-release-local" }
maven { url "https://repository.jsweet.org/artifactory/plugins-snapshot-local" }
maven { url "https://google-diff-match-patch.googlecode.com/svn/trunk/maven" }
}
dependencies {
classpath('org.jsweet:jsweet-gradle-plugin:3.1.0') {
transitive = true
}
}
}plugins {
id 'org.jsweet.jsweet-gradle-plugin' version '3.1.0'
}
```### Configure signing
Add those lines to your `~/.gradle/gradle.properties`:```properties
signing.keyId=01695460
signing.password=...
signing.secretKeyRingFile=path/to/secrets.gpg
```To regenerate this file from the gpg DB, use the following command:
```bash
gpg --export-secret-keys > path/to/secrets.gpg
```To show short key ID (8 chars):
```bash
gpg --list-keys --keyid-format short
```Or you can skip signing with:
```bash
./gradlew ... -DskipSigning=true
```### Install
Install with:
```bash
./gradlew clean publishToMavenLocal
```### Deploy (needs credentials)
```bash
# on JSweet's repository
./gradlew clean publish# on central Gradle plugins repository
./gradlew clean publishPlugins
```