소스 검색

Verify Mercurial is installed

Show better error message if Mercurial is not installed or mq extension is not enabled.
Fixes #67
tags/full-jdk7u79+4
Ivan Dubrov 8 년 전
부모
커밋
205101f9ee
4개의 변경된 파일29개의 추가작업 그리고 18개의 파일을 삭제
  1. 1
    1
      README.md
  2. 26
    15
      build.gradle
  3. BIN
      gradle/wrapper/gradle-wrapper.jar
  4. 2
    2
      gradle/wrapper/gradle-wrapper.properties

+ 1
- 1
README.md 파일 보기

@@ -10,7 +10,7 @@ You can download binaries [here](https://dcevm.github.io/).

## Supported versions

[pathes/](hotspot/.hg/patches/) contains patches for all supported versions. Each patch is named by concatenating prefix `full` or `light` with the OpenJDK HotSpot tag. `full` patches support full redefenition capabilities (including removal of superclasses, for example). `light` patches are easier to maintain, but they only support limited functionality (generally, additions to class hierarchies are fine, removals are not).
[hotspot/.hg/patches/](hotspot/.hg/patches/) contains patches for all supported versions. Each patch is named by concatenating prefix `full` or `light` with the OpenJDK HotSpot tag. `full` patches support full redefenition capabilities (including removal of superclasses, for example). `light` patches are easier to maintain, but they only support limited functionality (generally, additions to class hierarchies are fine, removals are not).

HotSpot tag is the name of the tag in the corresponding HotSpot Mercurial repository ([Java 8](http://hg.openjdk.java.net/jdk8u/jdk8u/hotspot)/[Java 7](http://hg.openjdk.java.net/jdk7u/jdk7u/hotspot)).


+ 26
- 15
build.gradle 파일 보기

@@ -33,7 +33,25 @@ project('hotspot') {
}
}

task init(description: 'Initialize HotSpot repository') << {
task checkMercurial(description: 'Verify Mercurial is installed') << {
def os = new ByteArrayOutputStream()
try {
exec {
executable 'hg'
args 'help', 'init'
standardOutput = os
errorOutput = os
}
} catch (GradleException e) {
throw new GradleException("Failed to execute 'hg'. Make sure you have Mercurial installed!")
}
def str = os.toString()
if (!str.contains('--mq')) {
throw new GradleException("Mercurial does not have mq extension installed! Consult README.md for details.")
}
}

task init(description: 'Initialize HotSpot repository', dependsOn: checkMercurial) << {
file('hotspot').mkdir()
exec {
executable 'hg'
@@ -45,8 +63,8 @@ project('hotspot') {
task pull(description: 'Pull OpenJDK HotSpot changes', dependsOn: init) {
doLast {
def hotspotRepository = hotspotTag.contains('jdk7') ?
'http://hg.openjdk.java.net/jdk7u/jdk7u/hotspot' :
'http://hg.openjdk.java.net/jdk8u/jdk8u/hotspot'
'http://hg.openjdk.java.net/jdk7u/jdk7u/hotspot' :
'http://hg.openjdk.java.net/jdk8u/jdk8u/hotspot'
exec {
executable 'hg'
args 'pull', hotspotRepository
@@ -93,7 +111,7 @@ project('hotspot') {
}
}

def arguments = ['product': ['ENABLE_FULL_DEBUG_SYMBOLS=0'],
def arguments = ['product' : ['ENABLE_FULL_DEBUG_SYMBOLS=0'],
'fastdebug': ['ENABLE_FULL_DEBUG_SYMBOLS=1', 'STRIP_POLICY=no_strip', 'ZIP_DEBUGINFO_FILES=0']]

['product', 'fastdebug'].each { k ->
@@ -123,21 +141,14 @@ project('hotspot') {
}
}

// Java projects for testing DCEVM
def setup(prjs, closure) {
prjs.each { prj ->
project(prj, closure)
}
}

setup(['agent', 'dcevm'], {
configure([project(':agent'), project(':dcevm')]) {
apply plugin: 'java'
apply plugin: 'idea'

repositories {
mavenCentral()
}
})
}

project('agent') {
jar {
@@ -162,7 +173,7 @@ project('native') {
args "-I${jre}/../include/linux"
args '-o'
args 'build/libnatives.so'
args (arch == Arch.X86 ? '-m32' : '-m64')
args(arch == Arch.X86 ? '-m32' : '-m64')
} else if (os == Os.MAC) {
args "-I${jre}/../include/darwin"
args '-o'
@@ -213,7 +224,7 @@ project('dcevm') {
ignoreFailures = true
outputs.upToDateWhen { false }
useJUnit {
excludeCategories ('com.github.dcevm.test.category.' + (flavor == 'light' ? 'Full' : 'Light'))
excludeCategories('com.github.dcevm.test.category.' + (flavor == 'light' ? 'Full' : 'Light'))
}
}


BIN
gradle/wrapper/gradle-wrapper.jar 파일 보기


+ 2
- 2
gradle/wrapper/gradle-wrapper.properties 파일 보기

@@ -1,6 +1,6 @@
#Thu Apr 24 15:01:45 PDT 2014
#Sun Jul 05 15:22:09 PDT 2015
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=http\://services.gradle.org/distributions/gradle-1.11-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-2.4-bin.zip

Loading…
취소
저장