Skip to content

Commit

Permalink
Move the dependency on the CrashReporter to the PC facade from the en…
Browse files Browse the repository at this point in the history
…gine and make it possible to embed it into a Terasology workspace.

Also fixes some misdirected imports that had resulted from some Google classes being present both via engine dependency and a transitive CR dependency.
  • Loading branch information
Cervator committed Jun 29, 2016
1 parent d8cfc3a commit d93ce7e
Show file tree
Hide file tree
Showing 23 changed files with 50 additions and 25 deletions.
5 changes: 5 additions & 0 deletions config/gradle/utility.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -354,6 +354,11 @@ tasks.addRule("Pattern: fetchLib<ID>") { String taskName ->
case 'Index' :
githubHome = 'Terasology'
break;

case 'CrashReporter' :
// Temporary for testing only
branch = 'embeddedCR'
break;
}

// Allow user to override the GitHub account to pull from. Supply with -PgithubAccount="TargetAccountName"
Expand Down
3 changes: 0 additions & 3 deletions engine/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -127,9 +127,6 @@ dependencies {
// Wildcard dependency to catch any libs provided with the project (remote repo preferred instead)
compile fileTree(dir: 'libs', include: '*.jar')

// TODO: These could be moved into facade
compile group: 'org.terasology', name: 'CrashReporter-terasology', version: '3.0.0'

runtime group: 'ch.qos.logback', name: 'logback-classic', version: '1.1.7'
runtime group: 'org.slf4j', name: 'jul-to-slf4j', version: '1.7.21'

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

package org.terasology.engine;

import com.google.api.client.repackaged.com.google.common.base.Preconditions;
import com.google.common.base.Preconditions;
import com.google.common.base.Stopwatch;
import com.google.common.collect.Queues;
import com.google.common.collect.Sets;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
*/
package org.terasology.engine;

import com.google.api.client.util.Lists;
import com.google.common.collect.Lists;
import com.google.common.base.Preconditions;
import org.terasology.engine.subsystem.EngineSubsystem;
import org.terasology.engine.subsystem.common.TimeSubsystem;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
*/
package org.terasology.entitySystem.prefab.internal;

import com.google.api.client.repackaged.com.google.common.base.Strings;
import com.google.common.base.Strings;
import org.terasology.assets.management.AssetManager;
import org.terasology.context.Context;
import org.terasology.entitySystem.Component;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
*/
package org.terasology.logic.console.suggesters;

import com.google.api.client.util.Maps;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
import org.terasology.assets.ResourceUrn;
import org.terasology.assets.management.AssetManager;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@

import java.util.function.Consumer;

import com.google.common.base.Preconditions;
import org.terasology.math.geom.Rect2f;

import com.google.api.client.util.Preconditions;

/**
* Interpolates rectangles
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,9 @@

import java.util.function.Consumer;

import com.google.common.base.Preconditions;
import org.terasology.math.geom.Rect2i;

import com.google.api.client.util.Preconditions;

/**
* Interpolates rectangles
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,9 @@

package org.terasology.rendering.animation;

import com.google.common.base.Preconditions;
import org.terasology.math.TeraMath;

import com.google.api.client.util.Preconditions;

/**
* A collection of {@link TimeModifier} implementations
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

package org.terasology.rendering.logic;

import com.google.api.client.util.Maps;
import com.google.common.collect.Maps;
import org.terasology.assets.management.AssetManager;
import org.terasology.entitySystem.entity.EntityManager;
import org.terasology.entitySystem.entity.EntityRef;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@
*/
package org.terasology.rendering.logic;

import com.google.api.client.repackaged.com.google.common.base.Strings;
import com.google.api.client.util.Maps;
import com.google.common.base.Strings;
import com.google.common.collect.Maps;
import com.google.common.base.Preconditions;
import org.lwjgl.BufferUtils;
import org.lwjgl.opengl.GL11;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
package org.terasology.rendering.nui.layers.ingame.metrics;


import com.google.api.client.repackaged.com.google.common.base.Preconditions;
import com.google.common.base.Preconditions;
import org.terasology.entitySystem.systems.BaseComponentSystem;
import org.terasology.entitySystem.systems.RegisterSystem;
import org.terasology.registry.Share;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
*/
package org.terasology.rendering.nui.layouts;

import com.google.api.client.util.Maps;
import com.google.common.collect.Maps;
import org.terasology.math.geom.Vector2i;
import org.terasology.rendering.nui.Canvas;
import org.terasology.rendering.nui.CoreLayout;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
*/
package org.terasology.rendering.nui.widgets.browser.data.html.basic;

import com.google.api.client.util.Maps;
import com.google.common.collect.Maps;
import org.terasology.rendering.nui.widgets.browser.data.html.HTMLBlockBuilder;
import org.terasology.rendering.nui.widgets.browser.data.html.HTMLDocument;
import org.terasology.rendering.nui.widgets.browser.data.html.HTMLDocumentBuilder;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
*/
package org.terasology.rendering.nui.widgets.browser.data.html.basic;

import com.google.api.client.util.Maps;
import com.google.common.collect.Maps;
import org.terasology.rendering.assets.font.Font;
import org.terasology.rendering.nui.Color;
import org.terasology.rendering.nui.widgets.browser.data.ParagraphData;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@
*/
package org.terasology.rendering.nui.widgets.models;

import com.google.api.client.util.Lists;
import com.google.common.base.Preconditions;
import com.google.common.collect.Lists;

import java.util.ArrayDeque;
import java.util.Collection;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
*/
package org.terasology.rendering.nui.widgets.models;

import com.google.api.client.util.Lists;
import com.google.common.collect.Lists;

import java.util.Iterator;
import java.util.List;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
*/
package org.terasology.rendering.world;

import com.google.api.client.util.Lists;
import com.google.common.collect.Lists;
import org.terasology.config.Config;
import org.terasology.config.RenderingConfig;
import org.terasology.config.RenderingDebugConfig;
Expand Down
2 changes: 1 addition & 1 deletion engine/src/main/java/org/terasology/utilities/Assets.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

package org.terasology.utilities;

import com.google.api.client.repackaged.com.google.common.base.Strings;
import com.google.common.base.Strings;
import com.google.common.base.Preconditions;
import org.terasology.assets.Asset;
import org.terasology.assets.AssetData;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

package org.terasology.world.block.internal;

import com.google.api.client.repackaged.com.google.common.base.Preconditions;
import com.google.common.base.Preconditions;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Maps;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@
*/
package org.terasology.world.block.loader;

import com.google.api.client.util.Maps;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import org.terasology.assets.AssetData;
import org.terasology.module.sandbox.API;
import org.terasology.world.block.family.BlockFamilyFactory;
Expand Down
18 changes: 18 additions & 0 deletions facades/PC/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,24 @@ group = 'org.terasology.facades'

dependencies {
compile project(':engine')

// Dependency on CrashReporter, conditionally either from source or via binary
File wouldBeSrcPath = new File(rootDir, 'libs/CrashReporter')
println "Scanning for source CrashReporter at: " + wouldBeSrcPath.getAbsolutePath()

if (wouldBeSrcPath.exists()) {
println "*** Identified CrashReporter source, using that"
//compile ':libs:CrashReporter:cr-terasology'

def targetProject = findProject(':libs:CrashReporter:cr-terasology')
println "Found the project? " + targetProject
//compile targetProject

compile project(':libs:CrashReporter:cr-terasology')
} else {
println "*** Setting a CrashReporter binary dependency, not present as source"
compile group: 'org.terasology', name: 'CrashReporter-terasology', version: '3.0.0'
}
}

// Instructions for packaging a jar file for the PC facade
Expand Down
7 changes: 7 additions & 0 deletions libs/subprojects.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,13 @@ new File(rootDir, 'libs').eachDir { possibleSubprojectDir ->
def subprojectPath = ':' + subprojectName
def subproject = project(subprojectPath)
subproject.projectDir = possibleSubprojectDir

// Also look for a nested settings.gradle file in case of embedded libraries with their own sub projects
File settingsFile = new File(possibleSubprojectDir, "settings.gradle")
if (settingsFile.exists()) {
println "Library $subprojectName has a settings file so applying it expecting nested sub projects"
apply from: settingsFile
}
} else {
println "Library dir found without a build.gradle, not including $subprojectName in the Gradle project tree"
}
Expand Down

0 comments on commit d93ce7e

Please sign in to comment.