aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Jenkinsfile55
-rw-r--r--LICENSE-header.txt16
-rw-r--r--build.gradle34
-rw-r--r--src/api/java/com/amadornes/artifactural/api/artifact/Artifact.java19
-rw-r--r--src/api/java/com/amadornes/artifactural/api/artifact/ArtifactIdentifier.java19
-rw-r--r--src/api/java/com/amadornes/artifactural/api/artifact/ArtifactMetadata.java19
-rw-r--r--src/api/java/com/amadornes/artifactural/api/artifact/ArtifactType.java19
-rw-r--r--src/api/java/com/amadornes/artifactural/api/artifact/Internal.java19
-rw-r--r--src/api/java/com/amadornes/artifactural/api/artifact/MissingArtifactException.java19
-rw-r--r--src/api/java/com/amadornes/artifactural/api/artifact/Streamable.java19
-rw-r--r--src/api/java/com/amadornes/artifactural/api/cache/ArtifactCache.java19
-rw-r--r--src/api/java/com/amadornes/artifactural/api/repository/ArtifactProvider.java19
-rw-r--r--src/api/java/com/amadornes/artifactural/api/repository/Repository.java19
-rw-r--r--src/api/java/com/amadornes/artifactural/api/transform/ArtifactTransformer.java19
-rw-r--r--src/gradlecomp/java/com/amadornes/artifactural/gradle/DependencyResolver.java19
-rw-r--r--src/gradlecomp/java/com/amadornes/artifactural/gradle/GradleArtifact.java19
-rw-r--r--src/gradlecomp/java/com/amadornes/artifactural/gradle/GradleRepositoryAdapter.java19
-rw-r--r--src/gradlecomp/java/com/amadornes/artifactural/gradle/ReflectionUtils.java19
-rw-r--r--src/shared/java/com/amadornes/artifactural/base/artifact/ArtifactBase.java19
-rw-r--r--src/shared/java/com/amadornes/artifactural/base/artifact/SimpleArtifactIdentifier.java19
-rw-r--r--src/shared/java/com/amadornes/artifactural/base/artifact/SimpleArtifactMetadata.java19
-rw-r--r--src/shared/java/com/amadornes/artifactural/base/artifact/StreamableArtifact.java19
-rw-r--r--src/shared/java/com/amadornes/artifactural/base/cache/ArtifactCacheBase.java19
-rw-r--r--src/shared/java/com/amadornes/artifactural/base/cache/LocatedArtifactCache.java19
-rw-r--r--src/shared/java/com/amadornes/artifactural/base/repository/ArtifactProviderBuilder.java19
-rw-r--r--src/shared/java/com/amadornes/artifactural/base/repository/SimpleRepository.java19
-rw-r--r--src/shared/java/com/amadornes/artifactural/base/util/HashFunction.java19
-rw-r--r--src/shared/java/com/amadornes/artifactural/base/util/PatternReplace.java19
28 files changed, 573 insertions, 7 deletions
diff --git a/Jenkinsfile b/Jenkinsfile
new file mode 100644
index 0000000..591de7d
--- /dev/null
+++ b/Jenkinsfile
@@ -0,0 +1,55 @@
+//@Library('forge-shared-library')_
+
+pipeline {
+ agent {
+ docker {
+ image 'gradlewrapper:latest'
+ args '-v gradlecache:/gradlecache'
+ }
+ }
+ environment {
+ GRADLE_ARGS = '-Dorg.gradle.daemon.idletimeout=5000'
+ }
+
+ stages {
+ stage('fetch') {
+ steps {
+ checkout scm
+ }
+ }
+ stage('buildandtest') {
+ steps {
+ sh './gradlew ${GRADLE_ARGS} --refresh-dependencies --continue build test'
+ script {
+ env.MYVERSION = sh(returnStdout: true, script: './gradlew properties -q | grep "version:" | awk \'{print $2}\'').trim()
+ }
+ }
+ /*
+ post {
+ success {
+ writeChangelog(currentBuild, 'build/changelog.txt')
+ archiveArtifacts artifacts: 'build/changelog.txt', fingerprint: false
+ }
+ }
+ */
+ }
+ stage('publish') {
+ when {
+ not {
+ changeRequest()
+ }
+ }
+ environment {
+ FORGE_MAVEN = credentials('forge-maven-forge-user')
+ }
+ steps {
+ sh './gradlew ${GRADLE_ARGS} publish -PforgeMavenUser=${FORGE_MAVEN_USR} -PforgeMavenPassword=${FORGE_MAVEN_PSW}'
+ }
+ }
+ }
+ post {
+ always {
+ archiveArtifacts artifacts: 'build/libs/**/*.jar', fingerprint: true
+ }
+ }
+} \ No newline at end of file
diff --git a/LICENSE-header.txt b/LICENSE-header.txt
new file mode 100644
index 0000000..a6bee08
--- /dev/null
+++ b/LICENSE-header.txt
@@ -0,0 +1,16 @@
+Artifactural
+Copyright (c) 2018.
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation version 2.1
+of the License.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA \ No newline at end of file
diff --git a/build.gradle b/build.gradle
index ba4e0be..51768a0 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,8 +1,23 @@
+plugins {
+ id 'net.minecrell.licenser' version '0.3'
+ id 'org.ajoberstar.grgit' version '2.3.0'
+ //id 'com.github.johnrengelman.shadow' version '2.0.4'
+}
+
apply plugin: 'java'
apply plugin: 'maven-publish'
-group = 'com.amadornes'
-version = '1.0.0'
+group = 'net.minecraftforge'
+version = gitVersion()
+def gitVersion() {
+ def raw = grgit.describe(longDescr: true)
+ def desc = (raw == null ? 'unknown-unknown-unknown' : raw).split('-') as List
+ def hash = desc.remove(desc.size() - 1)
+ def offset = desc.remove(desc.size() - 1)
+ def tag = desc.join('-')
+ def branch = grgit.branch.current().name
+ return "${tag}.${offset}" //${t -> if (branch != 'master') t << '-' + branch}"
+}
sourceSets {
api
@@ -43,6 +58,11 @@ jar {
from sourceSets.gradlecomp.output
}
+
+license {
+ header = file("$rootDir/LICENSE-header.txt")
+}
+
publishing {
publications {
mavenJava(MavenPublication) {
@@ -54,16 +74,16 @@ publishing {
name = project.archivesBaseName
packaging = 'jar'
description = 'A Gradle artifact processing and management tool'
- url = 'https://github.com/amadornes/Artifactural/'
+ url = 'https://github.com/MinecraftForge/Artifactural/'
scm {
- url = 'https://github.com/amadornes/Artifactural/'
- connection = 'scm:git:git://github.com/amadornes/Artifactural.git'
- developerConnection = 'scm:git:git@github.com:amadornes/Artifactural.git'
+ url = 'https://github.com/MinecraftForge/Artifactural/'
+ connection = 'scm:git:git://github.com/MinecraftForge/Artifactural.git'
+ developerConnection = 'scm:git:git@github.com:MinecraftForge/Artifactural.git'
}
issueManagement {
system = 'github'
- url = 'https://github.com/amadornes/Artifactural/issues'
+ url = 'https://github.com/MinecraftForge/Artifactural/issues'
}
licenses {
license {
diff --git a/src/api/java/com/amadornes/artifactural/api/artifact/Artifact.java b/src/api/java/com/amadornes/artifactural/api/artifact/Artifact.java
index 4271d70..1da3c90 100644
--- a/src/api/java/com/amadornes/artifactural/api/artifact/Artifact.java
+++ b/src/api/java/com/amadornes/artifactural/api/artifact/Artifact.java
@@ -1,3 +1,22 @@
+/*
+ * Artifactural
+ * Copyright (c) 2018.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation version 2.1
+ * of the License.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
package com.amadornes.artifactural.api.artifact;
import com.amadornes.artifactural.api.cache.ArtifactCache;
diff --git a/src/api/java/com/amadornes/artifactural/api/artifact/ArtifactIdentifier.java b/src/api/java/com/amadornes/artifactural/api/artifact/ArtifactIdentifier.java
index 57c263a..e663c11 100644
--- a/src/api/java/com/amadornes/artifactural/api/artifact/ArtifactIdentifier.java
+++ b/src/api/java/com/amadornes/artifactural/api/artifact/ArtifactIdentifier.java
@@ -1,3 +1,22 @@
+/*
+ * Artifactural
+ * Copyright (c) 2018.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation version 2.1
+ * of the License.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
package com.amadornes.artifactural.api.artifact;
import java.util.function.Predicate;
diff --git a/src/api/java/com/amadornes/artifactural/api/artifact/ArtifactMetadata.java b/src/api/java/com/amadornes/artifactural/api/artifact/ArtifactMetadata.java
index 36fb1a5..af5e08a 100644
--- a/src/api/java/com/amadornes/artifactural/api/artifact/ArtifactMetadata.java
+++ b/src/api/java/com/amadornes/artifactural/api/artifact/ArtifactMetadata.java
@@ -1,3 +1,22 @@
+/*
+ * Artifactural
+ * Copyright (c) 2018.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation version 2.1
+ * of the License.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
package com.amadornes.artifactural.api.artifact;
public interface ArtifactMetadata {
diff --git a/src/api/java/com/amadornes/artifactural/api/artifact/ArtifactType.java b/src/api/java/com/amadornes/artifactural/api/artifact/ArtifactType.java
index 1bd0f97..40e5aa6 100644
--- a/src/api/java/com/amadornes/artifactural/api/artifact/ArtifactType.java
+++ b/src/api/java/com/amadornes/artifactural/api/artifact/ArtifactType.java
@@ -1,3 +1,22 @@
+/*
+ * Artifactural
+ * Copyright (c) 2018.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation version 2.1
+ * of the License.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
package com.amadornes.artifactural.api.artifact;
public enum ArtifactType {
diff --git a/src/api/java/com/amadornes/artifactural/api/artifact/Internal.java b/src/api/java/com/amadornes/artifactural/api/artifact/Internal.java
index 321b4fc..39bc983 100644
--- a/src/api/java/com/amadornes/artifactural/api/artifact/Internal.java
+++ b/src/api/java/com/amadornes/artifactural/api/artifact/Internal.java
@@ -1,3 +1,22 @@
+/*
+ * Artifactural
+ * Copyright (c) 2018.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation version 2.1
+ * of the License.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
package com.amadornes.artifactural.api.artifact;
import com.amadornes.artifactural.api.cache.ArtifactCache;
diff --git a/src/api/java/com/amadornes/artifactural/api/artifact/MissingArtifactException.java b/src/api/java/com/amadornes/artifactural/api/artifact/MissingArtifactException.java
index 8ceef19..3caa7ec 100644
--- a/src/api/java/com/amadornes/artifactural/api/artifact/MissingArtifactException.java
+++ b/src/api/java/com/amadornes/artifactural/api/artifact/MissingArtifactException.java
@@ -1,3 +1,22 @@
+/*
+ * Artifactural
+ * Copyright (c) 2018.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation version 2.1
+ * of the License.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
package com.amadornes.artifactural.api.artifact;
public class MissingArtifactException extends RuntimeException {
diff --git a/src/api/java/com/amadornes/artifactural/api/artifact/Streamable.java b/src/api/java/com/amadornes/artifactural/api/artifact/Streamable.java
index 1b7de8f..b8fcdf6 100644
--- a/src/api/java/com/amadornes/artifactural/api/artifact/Streamable.java
+++ b/src/api/java/com/amadornes/artifactural/api/artifact/Streamable.java
@@ -1,3 +1,22 @@
+/*
+ * Artifactural
+ * Copyright (c) 2018.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation version 2.1
+ * of the License.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
package com.amadornes.artifactural.api.artifact;
import java.io.IOException;
diff --git a/src/api/java/com/amadornes/artifactural/api/cache/ArtifactCache.java b/src/api/java/com/amadornes/artifactural/api/cache/ArtifactCache.java
index 8099d30..00e2197 100644
--- a/src/api/java/com/amadornes/artifactural/api/cache/ArtifactCache.java
+++ b/src/api/java/com/amadornes/artifactural/api/cache/ArtifactCache.java
@@ -1,3 +1,22 @@
+/*
+ * Artifactural
+ * Copyright (c) 2018.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation version 2.1
+ * of the License.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
package com.amadornes.artifactural.api.cache;
import com.amadornes.artifactural.api.artifact.Artifact;
diff --git a/src/api/java/com/amadornes/artifactural/api/repository/ArtifactProvider.java b/src/api/java/com/amadornes/artifactural/api/repository/ArtifactProvider.java
index c9f21ee..d48856f 100644
--- a/src/api/java/com/amadornes/artifactural/api/repository/ArtifactProvider.java
+++ b/src/api/java/com/amadornes/artifactural/api/repository/ArtifactProvider.java
@@ -1,3 +1,22 @@
+/*
+ * Artifactural
+ * Copyright (c) 2018.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation version 2.1
+ * of the License.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
package com.amadornes.artifactural.api.repository;
import com.amadornes.artifactural.api.artifact.Artifact;
diff --git a/src/api/java/com/amadornes/artifactural/api/repository/Repository.java b/src/api/java/com/amadornes/artifactural/api/repository/Repository.java
index 3cf456d..da8aa69 100644
--- a/src/api/java/com/amadornes/artifactural/api/repository/Repository.java
+++ b/src/api/java/com/amadornes/artifactural/api/repository/Repository.java
@@ -1,3 +1,22 @@
+/*
+ * Artifactural
+ * Copyright (c) 2018.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation version 2.1
+ * of the License.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
package com.amadornes.artifactural.api.repository;
import com.amadornes.artifactural.api.artifact.Artifact;
diff --git a/src/api/java/com/amadornes/artifactural/api/transform/ArtifactTransformer.java b/src/api/java/com/amadornes/artifactural/api/transform/ArtifactTransformer.java
index bfbb965..b129d5b 100644
--- a/src/api/java/com/amadornes/artifactural/api/transform/ArtifactTransformer.java
+++ b/src/api/java/com/amadornes/artifactural/api/transform/ArtifactTransformer.java
@@ -1,3 +1,22 @@
+/*
+ * Artifactural
+ * Copyright (c) 2018.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation version 2.1
+ * of the License.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
package com.amadornes.artifactural.api.transform;
import com.amadornes.artifactural.api.artifact.Artifact;
diff --git a/src/gradlecomp/java/com/amadornes/artifactural/gradle/DependencyResolver.java b/src/gradlecomp/java/com/amadornes/artifactural/gradle/DependencyResolver.java
index b97de78..9040b63 100644
--- a/src/gradlecomp/java/com/amadornes/artifactural/gradle/DependencyResolver.java
+++ b/src/gradlecomp/java/com/amadornes/artifactural/gradle/DependencyResolver.java
@@ -1,3 +1,22 @@
+/*
+ * Artifactural
+ * Copyright (c) 2018.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation version 2.1
+ * of the License.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
package com.amadornes.artifactural.gradle;
import com.google.common.cache.Cache;
diff --git a/src/gradlecomp/java/com/amadornes/artifactural/gradle/GradleArtifact.java b/src/gradlecomp/java/com/amadornes/artifactural/gradle/GradleArtifact.java
index e02757b..b1fc537 100644
--- a/src/gradlecomp/java/com/amadornes/artifactural/gradle/GradleArtifact.java
+++ b/src/gradlecomp/java/com/amadornes/artifactural/gradle/GradleArtifact.java
@@ -1,3 +1,22 @@
+/*
+ * Artifactural
+ * Copyright (c) 2018.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation version 2.1
+ * of the License.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
package com.amadornes.artifactural.gradle;
import com.amadornes.artifactural.api.artifact.Artifact;
diff --git a/src/gradlecomp/java/com/amadornes/artifactural/gradle/GradleRepositoryAdapter.java b/src/gradlecomp/java/com/amadornes/artifactural/gradle/GradleRepositoryAdapter.java
index 2418ea9..36c74d3 100644
--- a/src/gradlecomp/java/com/amadornes/artifactural/gradle/GradleRepositoryAdapter.java
+++ b/src/gradlecomp/java/com/amadornes/artifactural/gradle/GradleRepositoryAdapter.java
@@ -1,3 +1,22 @@
+/*
+ * Artifactural
+ * Copyright (c) 2018.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation version 2.1
+ * of the License.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
package com.amadornes.artifactural.gradle;
import com.amadornes.artifactural.api.artifact.Artifact;
diff --git a/src/gradlecomp/java/com/amadornes/artifactural/gradle/ReflectionUtils.java b/src/gradlecomp/java/com/amadornes/artifactural/gradle/ReflectionUtils.java
index f43b33c..aaa3dc3 100644
--- a/src/gradlecomp/java/com/amadornes/artifactural/gradle/ReflectionUtils.java
+++ b/src/gradlecomp/java/com/amadornes/artifactural/gradle/ReflectionUtils.java
@@ -1,3 +1,22 @@
+/*
+ * Artifactural
+ * Copyright (c) 2018.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation version 2.1
+ * of the License.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
package com.amadornes.artifactural.gradle;
import java.lang.reflect.Field;
diff --git a/src/shared/java/com/amadornes/artifactural/base/artifact/ArtifactBase.java b/src/shared/java/com/amadornes/artifactural/base/artifact/ArtifactBase.java
index b164feb..0eaa66d 100644
--- a/src/shared/java/com/amadornes/artifactural/base/artifact/ArtifactBase.java
+++ b/src/shared/java/com/amadornes/artifactural/base/artifact/ArtifactBase.java
@@ -1,3 +1,22 @@
+/*
+ * Artifactural
+ * Copyright (c) 2018.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation version 2.1
+ * of the License.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
package com.amadornes.artifactural.base.artifact;
import com.amadornes.artifactural.api.artifact.Artifact;
diff --git a/src/shared/java/com/amadornes/artifactural/base/artifact/SimpleArtifactIdentifier.java b/src/shared/java/com/amadornes/artifactural/base/artifact/SimpleArtifactIdentifier.java
index 71f8cc6..f0a4189 100644
--- a/src/shared/java/com/amadornes/artifactural/base/artifact/SimpleArtifactIdentifier.java
+++ b/src/shared/java/com/amadornes/artifactural/base/artifact/SimpleArtifactIdentifier.java
@@ -1,3 +1,22 @@
+/*
+ * Artifactural
+ * Copyright (c) 2018.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation version 2.1
+ * of the License.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
package com.amadornes.artifactural.base.artifact;
import com.amadornes.artifactural.api.artifact.ArtifactIdentifier;
diff --git a/src/shared/java/com/amadornes/artifactural/base/artifact/SimpleArtifactMetadata.java b/src/shared/java/com/amadornes/artifactural/base/artifact/SimpleArtifactMetadata.java
index 6dd6195..a42894b 100644
--- a/src/shared/java/com/amadornes/artifactural/base/artifact/SimpleArtifactMetadata.java
+++ b/src/shared/java/com/amadornes/artifactural/base/artifact/SimpleArtifactMetadata.java
@@ -1,3 +1,22 @@
+/*
+ * Artifactural
+ * Copyright (c) 2018.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation version 2.1
+ * of the License.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
package com.amadornes.artifactural.base.artifact;
import com.amadornes.artifactural.api.artifact.ArtifactMetadata;
diff --git a/src/shared/java/com/amadornes/artifactural/base/artifact/StreamableArtifact.java b/src/shared/java/com/amadornes/artifactural/base/artifact/StreamableArtifact.java
index c0a9f57..e43b7c9 100644
--- a/src/shared/java/com/amadornes/artifactural/base/artifact/StreamableArtifact.java
+++ b/src/shared/java/com/amadornes/artifactural/base/artifact/StreamableArtifact.java
@@ -1,3 +1,22 @@
+/*
+ * Artifactural
+ * Copyright (c) 2018.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation version 2.1
+ * of the License.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
package com.amadornes.artifactural.base.artifact;
import com.amadornes.artifactural.api.artifact.Artifact;
diff --git a/src/shared/java/com/amadornes/artifactural/base/cache/ArtifactCacheBase.java b/src/shared/java/com/amadornes/artifactural/base/cache/ArtifactCacheBase.java
index 37c9d97..08a2840 100644
--- a/src/shared/java/com/amadornes/artifactural/base/cache/ArtifactCacheBase.java
+++ b/src/shared/java/com/amadornes/artifactural/base/cache/ArtifactCacheBase.java
@@ -1,3 +1,22 @@
+/*
+ * Artifactural
+ * Copyright (c) 2018.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation version 2.1
+ * of the License.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
package com.amadornes.artifactural.base.cache;
import com.amadornes.artifactural.api.artifact.Artifact;
diff --git a/src/shared/java/com/amadornes/artifactural/base/cache/LocatedArtifactCache.java b/src/shared/java/com/amadornes/artifactural/base/cache/LocatedArtifactCache.java
index 71fbc9d..0aeab9c 100644
--- a/src/shared/java/com/amadornes/artifactural/base/cache/LocatedArtifactCache.java
+++ b/src/shared/java/com/amadornes/artifactural/base/cache/LocatedArtifactCache.java
@@ -1,3 +1,22 @@
+/*
+ * Artifactural
+ * Copyright (c) 2018.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation version 2.1
+ * of the License.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
package com.amadornes.artifactural.base.cache;
import com.amadornes.artifactural.api.artifact.Artifact;
diff --git a/src/shared/java/com/amadornes/artifactural/base/repository/ArtifactProviderBuilder.java b/src/shared/java/com/amadornes/artifactural/base/repository/ArtifactProviderBuilder.java
index 1f756ec..638ed9d 100644
--- a/src/shared/java/com/amadornes/artifactural/base/repository/ArtifactProviderBuilder.java
+++ b/src/shared/java/com/amadornes/artifactural/base/repository/ArtifactProviderBuilder.java
@@ -1,3 +1,22 @@
+/*
+ * Artifactural
+ * Copyright (c) 2018.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation version 2.1
+ * of the License.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
package com.amadornes.artifactural.base.repository;
import com.amadornes.artifactural.api.artifact.Artifact;
diff --git a/src/shared/java/com/amadornes/artifactural/base/repository/SimpleRepository.java b/src/shared/java/com/amadornes/artifactural/base/repository/SimpleRepository.java
index 7f437f8..060780a 100644
--- a/src/shared/java/com/amadornes/artifactural/base/repository/SimpleRepository.java
+++ b/src/shared/java/com/amadornes/artifactural/base/repository/SimpleRepository.java
@@ -1,3 +1,22 @@
+/*
+ * Artifactural
+ * Copyright (c) 2018.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation version 2.1
+ * of the License.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
package com.amadornes.artifactural.base.repository;
import com.amadornes.artifactural.api.artifact.Artifact;
diff --git a/src/shared/java/com/amadornes/artifactural/base/util/HashFunction.java b/src/shared/java/com/amadornes/artifactural/base/util/HashFunction.java
index 275b53c..61119e7 100644
--- a/src/shared/java/com/amadornes/artifactural/base/util/HashFunction.java
+++ b/src/shared/java/com/amadornes/artifactural/base/util/HashFunction.java
@@ -1,3 +1,22 @@
+/*
+ * Artifactural
+ * Copyright (c) 2018.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation version 2.1
+ * of the License.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
package com.amadornes.artifactural.base.util;
import java.io.File;
diff --git a/src/shared/java/com/amadornes/artifactural/base/util/PatternReplace.java b/src/shared/java/com/amadornes/artifactural/base/util/PatternReplace.java
index 80216d6..e81bd36 100644
--- a/src/shared/java/com/amadornes/artifactural/base/util/PatternReplace.java
+++ b/src/shared/java/com/amadornes/artifactural/base/util/PatternReplace.java
@@ -1,3 +1,22 @@
+/*
+ * Artifactural
+ * Copyright (c) 2018.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation version 2.1
+ * of the License.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
package com.amadornes.artifactural.base.util;
import java.util.Map;