org.metaborg:pie.parent.spoofax

PIE parent POM for Spoofax projects

License

License

GroupId

GroupId

org.metaborg
ArtifactId

ArtifactId

pie.parent.spoofax
Last Version

Last Version

0.3.0
Release Date

Release Date

Type

Type

jar
Description

Description

PIE parent POM for Spoofax projects

Download pie.parent.spoofax

How to add to project

<!-- https://jarcasting.com/artifacts/org.metaborg/pie.parent.spoofax/ -->
<dependency>
    <groupId>org.metaborg</groupId>
    <artifactId>pie.parent.spoofax</artifactId>
    <version>0.3.0</version>
</dependency>
// https://jarcasting.com/artifacts/org.metaborg/pie.parent.spoofax/
implementation 'org.metaborg:pie.parent.spoofax:0.3.0'
// https://jarcasting.com/artifacts/org.metaborg/pie.parent.spoofax/
implementation ("org.metaborg:pie.parent.spoofax:0.3.0")
'org.metaborg:pie.parent.spoofax:jar:0.3.0'
<dependency org="org.metaborg" name="pie.parent.spoofax" rev="0.3.0">
  <artifact name="pie.parent.spoofax" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.metaborg', module='pie.parent.spoofax', version='0.3.0')
)
libraryDependencies += "org.metaborg" % "pie.parent.spoofax" % "0.3.0"
[org.metaborg/pie.parent.spoofax "0.3.0"]

Dependencies

There are no dependencies for this project. It is a standalone project that does not depend on any other jars.

Project Modules

There are no modules declared in this project.

GitHub license Jenkins Jenkins Tests PIE API PIE Runtime

PIE: Pipelines for Interactive Environments

PIE is an API and runtime for developing interactive software development pipelines and incremental build scripts.

Copyright and License

Copyright © 2018-2020 Delft University of Technology

The code and files in this project are licensed under the Apache License, Version 2.0. You may use the files in this project in compliance with the license.

Questions and Issues

If you have a question, enhancement, feature request, or bug report, please search the issue tracker for a solution or workaround, or create a new issue.

User's guide

Installation

PIE is deployed as a set of Maven artifacts to the MetaBorg artifact server, which you can consume with Maven or Gradle. To be able to get artifacts from the MetaBorg artifact servers, add the following to your build.gradle file:

repositories {
  jcenter()
  maven { url "https://artifacts.metaborg.org/content/repositories/releases/" }
  maven { url "https://artifacts.metaborg.org/content/repositories/snapshots/" }
}

or build.gradle.kts file:

repositories {
  jcenter()
  maven { url = uri("https://artifacts.metaborg.org/content/repositories/releases/") }
  maven { url = uri("https://artifacts.metaborg.org/content/repositories/snapshots/") }
}

or add the following to your Maven pom.xml file:

<repositories>
  <repository>
    <id>metaborg-release-repo</id>
    <url>https://artifacts.metaborg.org/content/repositories/releases/</url>
    <releases>
      <enabled>true</enabled>
    </releases>
    <snapshots>
      <enabled>false</enabled>
    </snapshots>
  </repository>
  <repository>
    <id>metaborg-snapshot-repo</id>
    <url>https://artifacts.metaborg.org/content/repositories/snapshots/</url>
    <releases>
      <enabled>false</enabled>
    </releases>
    <snapshots>
      <enabled>true</enabled>
    </snapshots>
  </repository>
</repositories>

To depend on version 0.6.0 of the runtime to build and execute pipelines, add the following Gradle dependency to your build.gradle file:

implementation 'org.metaborg:pie.runtime:0.6.0'

or build.gradle.kts file:

implementation("org.metaborg:pie.runtime:0.6.0")

or add the following to your Maven pom.xml file:

<dependency>
  <groupId>org.metaborg</groupId>
  <artifactId>pie.runtime</artifactId>
  <version>0.6.0</version>
</dependency>

The latest version is listed at the top of this file.

Components

PIE consists of several components:

  • pie.api: The PIE API for developing reusable interactive pipelines or incremental build scripts
  • pie.runtime: The PIE runtime for incrementally executing pipelines developed with the API
  • pie.taskdefs.guice: Guice dependency injection support for task definitions
  • pie.dagger: Dagger dependency injection support
  • task.java: Java compilation tasks
  • task.archive: ZIP/Jar archiving and unarchiving tasks

Developer's guide

Building

As prerequisites for building PIE, you need a Java Development Kit (JDK) of version 8 or higher. To build PIE, run the Gradle wrapper as follows in the root directory of this repository:

./gradlew buildAll

Development

PIE can developed by importing this repository into IntelliJ IDEA or Eclipse as Gradle projects. Alternatively, any code editor in conjunction with local builds described above should work.

Continuous integration

PIE is automatically built, tested, and published on our buildfarm, configured in the Jenkinsfile. It uses the gradlePipeline shared pipeline from the metaborg.jenkins.pipeline shared pipeline library.

Publishing

To publish PIE, run ./gradlew publishAll.

To publish a new release version of PIE, first Git commit your changes and tag the commit in the form of release-<version>, e.g., release-0.3.0, and then run ./gradlew publishAll.

org.metaborg

MetaBorg

Versions

Version
0.3.0
0.2.2
0.2.1
0.2.0
0.1.1