Skip to content

Commit

Permalink
Reverting some of the Gradle Rhino changes
Browse files Browse the repository at this point in the history
  • Loading branch information
eriwen committed Aug 4, 2012
1 parent 38fa1e8 commit 3376692
Show file tree
Hide file tree
Showing 7 changed files with 44 additions and 64 deletions.
1 change: 0 additions & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ ext.isSnapshot = version.endsWith("-SNAPSHOT")

repositories {
mavenCentral()
mavenRepo url: 'http://oss.sonatype.org/content/repositories/snapshots/'
}

dependencies {
Expand Down
7 changes: 1 addition & 6 deletions plugin.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ buildscript {
mavenCentral()
}
dependencies {
classpath 'com.eriwen:gradle-js-plugin:1.0.4'
classpath 'com.eriwen:gradle-js-plugin:1.2'
}
}
buildscript {
Expand Down Expand Up @@ -58,11 +58,6 @@ task gzip(type: com.eriwen.gradle.js.tasks.GzipJsTask) {
dest = "${buildDir}/all-${version}.min.js"
}

jshint {
source = javascript.source.custom.js.files
dest = "${buildDir}/jshint.out"
}

task jshintz(type: com.eriwen.gradle.js.tasks.JsHintTask) {
source = javascript.source.custom.js.files
dest = "${buildDir}/jshint.out"
Expand Down
62 changes: 23 additions & 39 deletions src/main/groovy/com/eriwen/gradle/js/JavaScriptExtension.groovy
Original file line number Diff line number Diff line change
@@ -1,67 +1,51 @@
/*
* Copyright 2012 the original author or authors.
*
* 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.
*/
package com.eriwen.gradle.js

import org.gradle.api.artifacts.repositories.ArtifactRepository
import org.gradle.api.artifacts.repositories.IvyArtifactRepository
import org.gradle.api.artifacts.repositories.MavenArtifactRepository
import org.gradle.api.internal.artifacts.ResolverFactory
import org.gradle.api.internal.artifacts.repositories.layout.PatternRepositoryLayout
import org.gradle.api.Project
import org.gradle.util.ConfigureUtil
import com.eriwen.gradle.js.source.JavaScriptSourceSetContainer
import com.eriwen.gradle.js.source.internal.DefaultJavaScriptSourceSetContainer
import com.eriwen.gradle.js.source.internal.InternalGradle
import org.gradle.api.artifacts.repositories.ArtifactRepository;
import org.gradle.api.artifacts.repositories.IvyArtifactRepository;
import org.gradle.api.artifacts.repositories.MavenArtifactRepository;
import org.gradle.api.Project
import org.gradle.util.ConfigureUtil
import org.gradle.api.internal.artifacts.ResolverFactory;
import org.gradle.api.internal.artifacts.repositories.layout.PatternRepositoryLayout;

class JavaScriptExtension {
public static final NAME = "javascript"

public static final String GRADLE_PUBLIC_JAVASCRIPT_REPO_URL = "http://repo.gradle.org/gradle/javascript-public";
public static final String GOOGLE_APIS_REPO_URL = "http://ajax.googleapis.com/ajax/libs";
public static final String GRADLE_PUBLIC_JAVASCRIPT_REPO_URL = "http://repo.gradle.org/gradle/javascript-public"
public static final String GOOGLE_APIS_REPO_URL = "http://ajax.googleapis.com/ajax/libs"

private final ResolverFactory resolverFactory
final JavaScriptSourceSetContainer source
private final ResolverFactory resolverFactory;

public JavaScriptExtension(Project project /*, ResolverFactory resolverFactoryIn */) {
JavaScriptExtension(Project project) {
source = InternalGradle.toInstantiator(project).newInstance(DefaultJavaScriptSourceSetContainer, project)
// this.resolverFactory = resolverFactoryIn;
}

void source(Closure closure) {
ConfigureUtil.configure(closure, source)
}

public ArtifactRepository getGradlePublicJavaScriptRepository() {
MavenArtifactRepository repo = resolverFactory.createMavenRepository();
repo.setUrl(GRADLE_PUBLIC_JAVASCRIPT_REPO_URL);
repo.setName("Gradle Public JavaScript Repository");
return repo;
MavenArtifactRepository repo = resolverFactory.createMavenRepository()
repo.setUrl(GRADLE_PUBLIC_JAVASCRIPT_REPO_URL)
repo.setName("Gradle Public JavaScript Repository")
return repo
}

public ArtifactRepository getGoogleApisRepository() {
IvyArtifactRepository repo = resolverFactory.createIvyRepository();
repo.setName("Google Libraries Repository");
repo.setUrl(GOOGLE_APIS_REPO_URL);
IvyArtifactRepository repo = resolverFactory.createIvyRepository()
repo.setName("Google Libraries Repository")
repo.setUrl(GOOGLE_APIS_REPO_URL)
repo.layout("pattern", new Closure(this) {
public void doCall() {
PatternRepositoryLayout layout = (PatternRepositoryLayout) getDelegate();
layout.artifact("[organization]/[revision]/[module].[ext]");
layout.ivy("[organization]/[revision]/[module].xml");
PatternRepositoryLayout layout = (PatternRepositoryLayout) getDelegate()
layout.artifact("[organization]/[revision]/[module].[ext]")
layout.ivy("[organization]/[revision]/[module].xml")
}
});
return repo;
})
return repo
}
}
6 changes: 0 additions & 6 deletions src/main/groovy/com/eriwen/gradle/js/JsPlugin.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -18,16 +18,10 @@ package com.eriwen.gradle.js
import org.gradle.api.Plugin
import org.gradle.api.Project
import com.eriwen.gradle.js.tasks.*
import org.gradle.plugins.javascript.rhino.RhinoPlugin
import org.gradle.api.plugins.ReportingBasePlugin
import org.gradle.api.reporting.ReportingExtension

class JsPlugin implements Plugin<Project> {

void apply(final Project project) {
project.plugins.apply(RhinoPlugin)
project.plugins.apply(ReportingBasePlugin)

project.extensions.create(ClosureCompilerExtension.NAME, ClosureCompilerExtension)
project.extensions.create(JsDocExtension.NAME, JsDocExtension)
project.extensions.create(Props2JsExtension.NAME, Props2JsExtension)
Expand Down
8 changes: 3 additions & 5 deletions src/main/groovy/com/eriwen/gradle/js/tasks/JsDocTask.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -16,16 +16,16 @@
package com.eriwen.gradle.js.tasks

import com.eriwen.gradle.js.ResourceUtil
import com.eriwen.gradle.js.RhinoExec
import org.gradle.api.tasks.SourceTask
import org.gradle.api.tasks.OutputDirectory
import org.gradle.api.tasks.TaskAction
import org.gradle.plugins.javascript.rhino.RhinoShellExec

class JsDocTask extends SourceTask {
private static final String JSDOC_PATH = 'jsdoc.zip'
private static final String TMP_DIR = "tmp${File.separator}js"
private static final ResourceUtil RESOURCE_UTIL = new ResourceUtil()
private final RhinoShellExec rhino = new RhinoShellExec()
private final RhinoExec rhino = new RhinoExec(project)

Iterable<String> modulePaths = ['node_modules', 'rhino_modules', '.']
Boolean debug = false
Expand Down Expand Up @@ -54,8 +54,6 @@ class JsDocTask extends SourceTask {
args.addAll(['-d', (destinationDir as File).absolutePath])
args.addAll(project.jsdoc.options.collect { it })

rhino.scriptArgs = ["workingDir=${workingDir}"]
rhino.args(args)
rhino.execute()
rhino.execute(args, [workingDir: workingDir])
}
}
18 changes: 14 additions & 4 deletions src/main/groovy/com/eriwen/gradle/js/tasks/JsHintTask.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,17 @@
package com.eriwen.gradle.js.tasks

import org.gradle.api.tasks.TaskAction
import com.eriwen.gradle.js.ResourceUtil
import com.eriwen.gradle.js.RhinoExec
import org.gradle.api.tasks.SourceTask
import org.gradle.api.tasks.OutputFile
import org.gradle.plugins.javascript.jshint.JsHint

class JsHintTask extends JsHint {
class JsHintTask extends SourceTask {
private static final String JSHINT_PATH = 'jshint-rhino.js'
private static final String TMP_DIR = "tmp${File.separator}js"
private static final ResourceUtil RESOURCE_UTIL = new ResourceUtil()
private final RhinoExec rhino = new RhinoExec(project)

@OutputFile def dest

File getDest() {
Expand All @@ -28,7 +35,10 @@ class JsHintTask extends JsHint {

@TaskAction
def run() {
this.jsonReport = dest
this.doJsHint()
final File jshintJsFile = RESOURCE_UTIL.extractFileToDirectory(
new File(project.buildDir, TMP_DIR), JSHINT_PATH)
final List<String> args = [jshintJsFile.canonicalPath]
args.addAll(source.files.collect { it.canonicalPath })
rhino.execute(args, [ignoreExitCode: true, out: new FileOutputStream(dest as File)])
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -88,9 +88,9 @@ class JsPluginFunctionalTest extends FunctionalSpec {
}
"""
and:
file("src/custom/js/bar.js") << "function fn1() { console.log('1'); }"
file("src/custom/js/file1.js") << "function fn1() { console.log('1'); }"
and:
file("src/custom/js/foo.js") << "function fn2() { console.log('2'); }"
file("src/custom/js/file2.js") << "function fn2() { console.log('2'); }"

when:
run "minifyJs"
Expand All @@ -110,7 +110,7 @@ class JsPluginFunctionalTest extends FunctionalSpec {
wasUpToDate ":minifyJs"

when:
file("src/custom/js/xee.js") << "function fn3() { console.log('3'); }"
file("src/custom/js/file3.js") << "function fn3() { console.log('3'); }"

and:
run "minifyJs"
Expand Down

0 comments on commit 3376692

Please sign in to comment.