Skip to content

Commit

Permalink
Initial checkin
Browse files Browse the repository at this point in the history
  • Loading branch information
hugoduncan committed May 12, 2010
0 parents commit ae6f5e4
Show file tree
Hide file tree
Showing 4 changed files with 113 additions and 0 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
target
7 changes: 7 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# clojure-mojo-example

Example of clojure mojo.

## License

Licensed under [EPL](http://www.eclipse.org/legal/epl-v10.html)
76 changes: 76 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
<?xml version="1.0" encoding="UTF-8"?>
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>maven-clojure</groupId>
<artifactId>clojure-mojo-example</artifactId>
<version>0.1.0-SNAPSHOT</version>
<packaging>maven-plugin</packaging>
<name>clojure-mojo-example</name>
<description>An example of a mojo written in Clojure</description>
<url>http://github.com/hugoduncan/clojure-mojo-example</url>
<build>
<resources>
<resource>
<directory>src/main/clojure</directory>
</resource>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
<plugins>
<plugin>
<artifactId>maven-plugin-plugin</artifactId>
<version>2.5.1</version>
<dependencies>
<dependency>
<groupId>maven-clojure</groupId>
<artifactId>maven-plugin-tools-clojure</artifactId>
<version>0.1.0-SNAPSHOT</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.clojure</groupId>
<artifactId>clojure</artifactId>
<version>1.2.0-master-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-plugin-api</artifactId>
<version>2.2.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>maven-clojure</groupId>
<artifactId>maven-plugin-annotations-clojure</artifactId>
<version>0.1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-clojure-factory</artifactId>
<version>0.0.1-SNAPSHOT</version>
<scope>runtime</scope>
</dependency>
</dependencies>

<repositories>
<repository>
<id>clojure</id>
<url>http://build.clojure.org/releases</url>
</repository>
<repository>
<id>clojure-snapshots</id>
<url>http://build.clojure.org/snapshots</url>
</repository>
<repository>
<id>clojars</id>
<url>http://clojars.org/repo/</url>
</repository>
</repositories>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
</project>
29 changes: 29 additions & 0 deletions src/main/clojure/maven/clojure/example/plugin.clj
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
(ns maven.clojure.example.plugin
(:import
[maven.clojure.annotations
Goal RequiresDependencyResolution Parameter]
org.apache.maven.plugin.Mojo))

(deftype
#^{Goal "example"
RequiresDependencyResolution "compile"}
Plugin
[ #^{:volatile-mutable true} log
#^{Parameter {:expression "${basedir}"
:required true
:readonly true}}
base-directory]
Mojo
(setLog
[_ logger]
(set! log logger))
(getLog
[_]
log)
(execute
[this]
(.info log (str "Base directory" base-directory))))

(defn make-Plugin
[]
(Plugin. nil nil))

0 comments on commit ae6f5e4

Please sign in to comment.