motion-maven 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 140346936cae80384ecfb1e7a7f4bc3d48fac9d1
4
- data.tar.gz: 8681fcae9e4c5de403fb7ece4a274a35f7a21706
3
+ metadata.gz: db808f99383a8d38ad44950c72cc0fed9da9e6e9
4
+ data.tar.gz: 5518a51db4851714062d8e2a1072d855e808a180
5
5
  SHA512:
6
- metadata.gz: 0bdd8f95c1adcc828b336a3a8d585c7691603200a2a3b274aed53a10ff4984b0b4f49a8d4f4f2927de112b67f5113eedd1acdf0c7680fd2df97d185b35f60d67
7
- data.tar.gz: 47a09c105a72b255e867c78617b1918b60883bac2885177714a0219efa7f9cc448acb5967813f2b0cc3dc027742420aa0323ef6e0b4e32617178c094e4831859
6
+ metadata.gz: eba08a4c262f80e6d1205ffc803f62ea105153b08616e06169a55067241dea5b8aaf319a452f4bd374e3e86e245a600e618dbc1b6a3f8821ecef0a4bd6620819
7
+ data.tar.gz: 80ce08c06b67ab3fbefbdc88e28bca55d9710c1e692c5ac76098f7b5b6cbca3387e3bc7e56eef9a6dd9088cbc68f59154291f50e22736355ef28cf2ab6934a6c
data/README.md CHANGED
@@ -6,13 +6,13 @@ motion-maven allows RubyMotion projects to integrate with the
6
6
 
7
7
  ## Installation
8
8
 
9
- You need to have maven installed :
9
+ You need to have maven installed:
10
10
 
11
11
  ```
12
12
  $ brew install maven
13
13
  ```
14
14
 
15
- And the gem installed :
15
+ And the gem installed:
16
16
 
17
17
  ```
18
18
  $ [sudo] gem install motion-maven
@@ -39,25 +39,25 @@ gem 'motion-maven'
39
39
 
40
40
  ```ruby
41
41
  Motion::Project::App.setup do |app|
42
- # ...
43
- app.maven do
44
- dependency 'com.mcxiaoke.volley', :artifact => 'library', :version => '1.0.10'
45
- dependency 'commons-cli'
46
- dependency 'ehcache', :version => '1.2.3'
47
- end
42
+ # ...
43
+ app.maven do
44
+ dependency 'com.mcxiaoke.volley', :artifact => 'library', :version => '1.0.10'
45
+ dependency 'commons-cli'
46
+ dependency 'ehcache', :version => '1.2.3'
47
+ end
48
48
  end
49
49
  ```
50
50
 
51
- * Other options are : :scope, :type
51
+ * Other options are: :scope, :type
52
52
 
53
- * :version will default to : LATEST
53
+ * :version will default to: LATEST
54
54
 
55
55
  * :artifact will default to dependency name
56
56
 
57
57
 
58
58
  ## Configuration
59
59
 
60
- If the `mvn` command is not in your path, you can configure it :
60
+ If the `mvn` command is not in your path, you can configure it:
61
61
 
62
62
  ```ruby
63
63
  Motion::Project::App.setup do |app|
@@ -66,6 +66,18 @@ Motion::Project::App.setup do |app|
66
66
  end
67
67
  ```
68
68
 
69
+ You can also add other repositories :
70
+
71
+ ```ruby
72
+ Motion::Project::App.setup do |app|
73
+ # ...
74
+ app.maven do
75
+ repository 'https://bintray.com/bintray/jcenter'
76
+ dependency 'com.google.android', :artifact => 'support-v4'
77
+ end
78
+ end
79
+ ```
80
+
69
81
  ## Tasks
70
82
 
71
83
  To tell motion-maven to download your dependencies, run the following rake
@@ -84,3 +96,8 @@ That’s all.
84
96
 
85
97
  * Improve the pom.xml generated file, if you are a fine Maven connoisseur, feel free to help us.
86
98
  * Improve edge cases.
99
+
100
+
101
+ ## Note
102
+
103
+ motion-maven does not support android support libraries, RubyMotion might support it out of the box in the future: http://hipbyte.myjetbrains.com/youtrack/issue/RM-763
@@ -26,6 +26,7 @@ module Motion::Project
26
26
  @maven_path = 'mvn'
27
27
  @config = config
28
28
  @dependencies = []
29
+ @repositories = []
29
30
  configure_project
30
31
  end
31
32
 
@@ -41,6 +42,10 @@ module Motion::Project
41
42
  @dependencies << normalized_dependency(name, options)
42
43
  end
43
44
 
45
+ def repository(url)
46
+ @repositories << url
47
+ end
48
+
44
49
  def install!(update)
45
50
  generate_pom
46
51
  system "#{maven_command} -f #{pom_path} clean install"
@@ -48,68 +53,11 @@ module Motion::Project
48
53
 
49
54
  # Helpers
50
55
  def generate_pom
56
+ template_path = File.expand_path("../pom.erb", __FILE__)
57
+ template = ERB.new(File.new(template_path).read, nil, "%")
51
58
  File.open(pom_path, 'w') do |io|
52
- xml ||= <<EOS
53
- <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
54
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
55
- <modelVersion>4.0.0</modelVersion>
56
- <groupId>com.maventest</groupId>
57
- <artifactId>dependencies</artifactId>
58
- <packaging>jar</packaging>
59
- <version>1.0</version>
60
- <name>dependencies</name>
61
- <url>http://maven.apache.org</url>
62
- <dependencies>
63
- EOS
64
-
65
- @dependencies.each do |dependency|
66
- xml << <<EOS
67
- <dependency>
68
- <groupId>#{dependency[:name]}</groupId>
69
- <artifactId>#{dependency[:artifact]}</artifactId>
70
- <version>#{dependency[:version]}</version>
71
- EOS
72
-
73
- if dependency[:scope]
74
- xml << "<scope>#{dependency[:scope]}</scope>"
75
- end
76
-
77
- if dependency[:type]
78
- xml << "<type>#{dependency[:type]}</type>"
79
- end
80
-
81
- xml << <<EOS
82
- </dependency>
83
- EOS
84
- end
85
-
86
- xml << <<EOS
87
- </dependencies>
88
- <build>
89
- <plugins>
90
- <plugin>
91
- <groupId>org.apache.maven.plugins</groupId>
92
- <artifactId>maven-shade-plugin</artifactId>
93
- <executions>
94
- <execution>
95
- <phase>package</phase>
96
- <goals>
97
- <goal>shade</goal>
98
- </goals>
99
- </execution>
100
- </executions>
101
- <configuration>
102
- <finalName>${project.artifactId}</finalName>
103
- </configuration>
104
- </plugin>
105
- </plugins>
106
- </build>
107
- </project>
108
- EOS
109
-
110
- io.puts xml
59
+ io.puts template.result(binding)
111
60
  end
112
-
113
61
  system "xmllint --output #{pom_path} --format #{pom_path}"
114
62
  end
115
63
 
@@ -1,5 +1,5 @@
1
1
  module Motion::Project
2
2
  class Maven
3
- VERSION = '1.0.0'
3
+ VERSION = '1.1.0'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: motion-maven
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joffrey Jaffeux
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-29 00:00:00.000000000 Z
11
+ date: 2015-02-09 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: motion-maven allows RubyMotion Android projects to have access to the
14
14
  Maven dependency manager.