Skip to content

Commit

Permalink
Merge branch 'develop' of github.com:MovingBlocks/gestalt into featur…
Browse files Browse the repository at this point in the history
…e/update-asset-scheme
  • Loading branch information
pollend committed Jun 15, 2021
2 parents 44c56ac + 3a18fc6 commit 3bb3f20
Show file tree
Hide file tree
Showing 24 changed files with 436 additions and 756 deletions.
158 changes: 158 additions & 0 deletions .github/labels.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,158 @@
[
{
"color": "FF0000",
"description": "Issue reporting or PR addressing a critical problem that blocks other efforts",
"name": "Blocker"
},
{
"color": "ba0000",
"description": "API breaking change requiring follow-up work in dependant areas",
"name": "Breaking Change"
},
{
"color": "f5a342",
"description": "Requests, Issues and Changes targeting gradle, groovy, Jenkins, etc.",
"name": "Category: Build/CI"
},
{
"color": "ff7332",
"description": "Requests, Issues and Changes targeting unexpected terminations, segfaults, etc.",
"name": "Category: Crash"
},
{
"color": "f5a342",
"description": "Requests, Issues and Changes targeting javadoc and module documentation",
"name": "Category: Doc"
},
{
"color": "f5a342",
"description": "Requests, Issues and Changes targeting performance",
"name": "Category: Performance"
},
{
"color": "f5a342",
"description": "Requests, Issues and Changes targeting security",
"name": "Category: Security"
},
{
"color": "f5a342",
"description": "Requests, Issues and Changes targeting tests and quality assurance",
"name": "Category: Test/QA"
},
{
"color": "94EC55",
"description": "Good for learners that are new to Terasology",
"name": "Good First Issue"
},
{
"color": "AAd9d2",
"description": "Very big effort likely requiring a lot of research and work in many areas across the codebase",
"name": "Size: L"
},
{
"color": "AAd9d2",
"description": "Medium-sized effort likely requiring some research and work in multiple areas",
"name": "Size: M"
},
{
"color": "AAd9d2",
"description": "Small effort likely only affecting a single area and requiring little to no research",
"name": "Size: S"
},
{
"color": "ff7d7d",
"description": "Is currently blocked by missing dependencies, pre-requisites, etc.",
"name": "Status: Blocked"
},
{
"color": "E99695",
"description": "Requires more information by the author on the reported issue or provided changes",
"name": "Status: Needs Author Input"
},
{
"color": "E99695",
"description": "Requires help discussing a reported issue or provided PR",
"name": "Status: Needs Discussion",
"aliases": ["help wanted"]
},
{
"color": "E99695",
"description": "Requires to be checked for feasibility, reproducability, etc.",
"name": "Status: Needs Investigation"
},
{
"color": "E99695",
"description": "Requires to be tested in-game",
"name": "Status: Needs Testing"
},
{
"color": "DDDDDD",
"description": "Wasn't reviewed or continued for a while",
"name": "Status: Stale"
},
{
"color": "3b808e",
"description": "Requests, Issues and Changes related to Android-specific features and code.",
"name": "Topic: Anddroid"
},
{
"color": "3b808e",
"description": "Requests, Issues and Changes related to software architecture, programming patterns, etc.",
"name": "Topic: Architecture"
},
{
"color": "3b808e",
"description": "Requests, Issues and Changes related to the asset handling library.",
"name": "Topic: Asset"
},
{
"color": "3b808e",
"description": "Requests, Issues and Changes related to dependency injection (DI) capabilities.",
"name": "Topic: Dependency Injection"
},
{
"color": "3b808e",
"description": "Requests, Issues and Changes related to improving stablity and reducing flakyness",
"name": "Topic: Stabilization"
},
{
"color": "3b808e",
"description": "Requests, Issues and Changes related to the entity component system (ECS)",
"name": "Topic: Entity System",
"aliases": ["entitysystem"]
},
{
"color": "3b808e",
"description": "Requests, Issues and Changes related to gestalt modules",
"name": "Topic: Module",
"aliases": ["gestalt-module"]
},
{
"color": "d73a4a",
"description": "Issues reporting and PRs fixing problems",
"name": "Type: Bug",
"aliases": ["bug"]
},
{
"color": "666666",
"description": "Request for or implementation of maintenance changes",
"name": "Type: Chore"
},
{
"color": "0E8A16",
"description": "Request for or addition/enhancement of a feature",
"name": "Type: Improvement",
"aliases": ["enhancement"]
},
{
"color": "66CBED",
"description": "Issue intended to help understanding something that is unclear",
"name": "Type: Question",
"aliases": ["question"]
},
{
"color": "fbca04",
"description": "Request for or implementation of pure and automatic refactorings, e.g. renaming, to improve clarity",
"name": "Type: Refactoring"
}
]
42 changes: 42 additions & 0 deletions Jenkinsfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
pipeline {
agent {
label "light-java"
}
stages {
stage('Build') {
steps {
sh './gradlew --info --console=plain jar'
}
}
stage('Analytics') {
steps {
sh './gradlew --info --console=plain javadoc check'
}
}
stage('Publish') {
when {
anyOf {
branch 'develop'
branch pattern: "release/v\\d+.x", comparator: "REGEXP"
}
}
steps {
withCredentials([usernamePassword(credentialsId: 'artifactory-gooey', usernameVariable: 'artifactoryUser', passwordVariable: 'artifactoryPass')]) {
sh './gradlew --info --console=plain -Dorg.gradle.internal.publish.checksums.insecure=true publish -PmavenUser=${artifactoryUser} -PmavenPass=${artifactoryPass}'
}
}
}
stage('Record') {
steps {
junit testResults: '**/build/test-results/test/*.xml', allowEmptyResults: true
recordIssues tool: javaDoc()
//Note: Javadoc archiver only works for one directory :-(
//step([$class: 'JavadocArchiver', javadocDir: 'gestalt/build/docs/javadoc', keepAll: false])
//recordIssues tool: checkStyle(pattern: '**/build/reports/checkstyle/*.xml')
//recordIssues tool: spotBugs(pattern: '**/build/reports/spotbugs/main/*.xml', useRankAsPriority: true)
//recordIssues tool: pmdParser(pattern: '**/build/reports/pmd/*.xml')
recordIssues tool: taskScanner(includePattern: '**/*.java,**/*.groovy,**/*.gradle', lowTags: 'WIBNIF', normalTags: 'TODO', highTags: 'ASAP')
}
}
}
}
81 changes: 42 additions & 39 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,66 +1,69 @@
/*
* This is a Gradle build file:
* - Gradle Homepage: http://gradle.org/
* - Gradle Documentation: http://gradle.org/documentation
* - View tasks for this project: $ gradlew tasks
*/
// Copyright 2021 The Terasology Foundation
// SPDX-License-Identifier: Apache-2.0

// Only needed for the two Android modules as of April 2021
buildscript {
repositories {
google()
mavenCentral()
// org.jetbrains.trove4j:trove4j
gradlePluginPortal()
maven {
url 'https://heisluft.de/maven'
}
maven {
url "http://artifactory.terasology.org/artifactory/libs-release-local"
}

// Needed for the Android Gradle Plugin to work
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.5.3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
classpath 'com.android.tools.build:gradle:4.1.3'
}
ext {
// Android version support
android_annotation_version = "28.0.0"
}

// Standard Utility
guava_version = "27.0.1-android"
slf4j_version = "1.7.25"
gson_version = "2.8.5"
jcip_annotation_version = "1.0"
plugins {
id 'idea'
}

// Testing
junit_version = "4.12"
logback_version = "1.2.3"
mockito_version = "1.10.19"
}
ext {
// Android version support
android_annotation_version = "28.0.0"

// Standard Utility
guava_version = "27.0.1-android"
slf4j_version = "1.7.25"
gson_version = "2.8.5"
jcip_annotation_version = "1.0"

// Testing
junit_version = "4.12"
logback_version = "1.2.3"
mockito_version = "1.10.19"
}

allprojects {
repositories {
google()
mavenCentral()
// org.jetbrains.trove4j:trove4j
gradlePluginPortal()

// Terasology Artifactory instance for libs not readily available elsewhere plus our own libs
maven {
url "http://artifactory.terasology.org/artifactory/libs-release-local"
def repoViaEnv = System.getenv()["RESOLUTION_REPO"]
if (rootProject.hasProperty("alternativeResolutionRepo")) {
// If the user supplies an alternative repo via gradle.properties then use that
name "from alternativeResolutionRepo property"
url alternativeResolutionRepo
} else if (repoViaEnv != null && repoViaEnv != "") {
name "from \$RESOLUTION_REPO"
url = repoViaEnv
} else {
// Our default is the main virtual repo containing everything except repos for testing Artifactory itself
name "Terasology Artifactory"
url "http://artifactory.terasology.org/artifactory/virtual-repo-live"
allowInsecureProtocol true // 😱
}
}

// SemVer lib
maven {
url 'https://heisluft.de/maven'
}
}
}

// Library and distribution config
description = 'A set of libraries providing core capabilities for games and game engines'

task clean(type: Delete) {
delete rootProject.buildDir
}


18 changes: 2 additions & 16 deletions gestalt-android-testbed/build.gradle
Original file line number Diff line number Diff line change
@@ -1,19 +1,5 @@
/*
* Copyright 2019 MovingBlocks
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

// Copyright 2021 The Terasology Foundation
// SPDX-License-Identifier: Apache-2.0
apply plugin: 'com.android.application'
apply plugin: 'project-report'

Expand Down
Loading

0 comments on commit 3bb3f20

Please sign in to comment.