tetra 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,10 +1,10 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- tetra (0.40.0)
4
+ tetra (1.0.0)
5
5
  clamp
6
- json
7
- nokogiri
6
+ json_pure
7
+ open4
8
8
  rest-client
9
9
  rubyzip (>= 1.0)
10
10
  text
@@ -12,32 +12,39 @@ PATH
12
12
  GEM
13
13
  remote: http://rubygems.org/
14
14
  specs:
15
- clamp (0.6.3)
15
+ clamp (0.6.5)
16
16
  diff-lcs (1.2.5)
17
- json (1.8.1)
18
- mime-types (2.3)
19
- mini_portile (0.6.0)
20
- netrc (0.7.7)
21
- nokogiri (1.6.3.1)
22
- mini_portile (= 0.6.0)
23
- rake (10.3.2)
24
- rest-client (1.7.2)
17
+ domain_name (0.5.24)
18
+ unf (>= 0.0.5, < 1.0.0)
19
+ http-cookie (1.0.2)
20
+ domain_name (~> 0.5)
21
+ json_pure (1.8.2)
22
+ mime-types (2.6.1)
23
+ netrc (0.10.3)
24
+ open4 (1.3.4)
25
+ rake (10.4.2)
26
+ rest-client (1.8.0)
27
+ http-cookie (>= 1.0.2, < 2.0)
25
28
  mime-types (>= 1.16, < 3.0)
26
29
  netrc (~> 0.7)
27
- rspec (3.0.0)
28
- rspec-core (~> 3.0.0)
29
- rspec-expectations (~> 3.0.0)
30
- rspec-mocks (~> 3.0.0)
31
- rspec-core (3.0.4)
32
- rspec-support (~> 3.0.0)
33
- rspec-expectations (3.0.4)
30
+ rspec (3.2.0)
31
+ rspec-core (~> 3.2.0)
32
+ rspec-expectations (~> 3.2.0)
33
+ rspec-mocks (~> 3.2.0)
34
+ rspec-core (3.2.3)
35
+ rspec-support (~> 3.2.0)
36
+ rspec-expectations (3.2.1)
34
37
  diff-lcs (>= 1.2.0, < 2.0)
35
- rspec-support (~> 3.0.0)
36
- rspec-mocks (3.0.4)
37
- rspec-support (~> 3.0.0)
38
- rspec-support (3.0.4)
39
- rubyzip (1.1.6)
40
- text (1.3.0)
38
+ rspec-support (~> 3.2.0)
39
+ rspec-mocks (3.2.1)
40
+ diff-lcs (>= 1.2.0, < 2.0)
41
+ rspec-support (~> 3.2.0)
42
+ rspec-support (3.2.2)
43
+ rubyzip (1.1.7)
44
+ text (1.3.1)
45
+ unf (0.1.4)
46
+ unf_ext
47
+ unf_ext (0.0.7.1)
41
48
 
42
49
  PLATFORMS
43
50
  ruby
data/README.md CHANGED
@@ -14,6 +14,7 @@ You need:
14
14
  * [git](http://git-scm.com/);
15
15
  * bash;
16
16
  * a JDK that can compile whatever software you need to package;
17
+ * Fedora only: packages to compile native gems, use `yum install ruby-devel gcc-c++ zlib-devel`;
17
18
 
18
19
  Install `tetra` via RubyGems:
19
20
 
@@ -50,16 +51,15 @@ First, ceate a new `tetra` project named after the package that we want to build
50
51
  Second, place source files in the `src/` folder:
51
52
 
52
53
  cd src
53
- wget http://archive.apache.org/dist/commons/collections/source/commons-collections-3.2.1-src.zip
54
- unzip commons-collections-3.2.1-src.zip
55
- rm commons-collections-3.2.1-src.zip
54
+ wget http://archive.apache.org/dist/commons/collections/source/commons-collections4-4.0-src.tar.gz
55
+ tar xf commons-collections4-4.0-src.tar.gz
56
+ rm commons-collections4-4.0-src.tar.gz
57
+ cd commons-collections4-4.0-src/
56
58
 
57
59
  Third, you need to show `tetra` how to build your package. Run `tetra dry-run` a new subshell will open, in there do anything you would normally do to build the package:
58
60
 
59
- cd ../src
60
61
  tetra dry-run
61
62
 
62
- cd commons-collections-3.2.1-src/
63
63
  mvn package
64
64
 
65
65
  ^D
@@ -0,0 +1 @@
1
+ This file prevents git from deleting this directory in case it has no content.
@@ -0,0 +1 @@
1
+ This file prevents git from deleting this directory in case it has no content.
@@ -0,0 +1 @@
1
+ This file prevents git from deleting this directory in case it has no content.
@@ -0,0 +1 @@
1
+ This file prevents git from deleting this directory in case it has no content.
@@ -10,15 +10,15 @@ require "logger"
10
10
  require "open-uri"
11
11
  require "pathname"
12
12
  require "singleton"
13
- require "text"
13
+ require "rexml/document"
14
14
 
15
15
  # third party libraries
16
16
  require "clamp"
17
17
  require "json"
18
- require "nokogiri"
18
+ require "open4"
19
19
  require "rest_client"
20
+ require "text"
20
21
  require "zip"
21
- require "open4"
22
22
 
23
23
  # base components
24
24
  require "tetra/logger"
@@ -3,6 +3,7 @@
3
3
  module Tetra
4
4
  # runs Bash with tetra-specific options
5
5
  class Bash
6
+ include Logging
6
7
  include ProcessRunner
7
8
 
8
9
  def initialize(project)
@@ -21,8 +22,11 @@ module Tetra
21
22
  mvn_path = kit.find_executable("mvn")
22
23
  mvn_commandline = Tetra::Mvn.commandline(@project.full_path, mvn_path)
23
24
 
24
- bashrc = Bashrc.new(history_file.path, ant_commandline, mvn_commandline)
25
- bashrc_file.write(bashrc.to_s)
25
+ bashrc_content = Bashrc.new(history_file.path, ant_commandline, mvn_commandline).to_s
26
+ log.debug "writing bashrc file: #{bashrc_file.path}"
27
+ log.debug bashrc_content
28
+
29
+ bashrc_file.write(bashrc_content)
26
30
  bashrc_file.flush
27
31
 
28
32
  run_interactive("bash --rcfile #{bashrc_file.path}")
@@ -14,7 +14,7 @@ module Tetra
14
14
  def find_executable(name)
15
15
  @project.from_directory do
16
16
  Find.find("kit") do |path|
17
- next unless path =~ /(.*bin)\/#{name}$/
17
+ next unless path =~ %r{(.*bin)/#{name}$}
18
18
  result = Regexp.last_match[1]
19
19
 
20
20
  log.debug("found #{name} executable in #{result}")
@@ -38,7 +38,7 @@ module Tetra
38
38
  def search(params)
39
39
  response = RestClient.get("http://search.maven.org/solrsearch/select",
40
40
  params: params.merge("rows" => "100", "wt" => "json")
41
- )
41
+ )
42
42
  json = JSON.parse(response.to_s)
43
43
  json["response"]["docs"]
44
44
  end
@@ -5,56 +5,55 @@ module Tetra
5
5
  class Pom
6
6
  def initialize(filename)
7
7
  content = open(filename).read if filename && File.file?(filename)
8
- @doc = Nokogiri::XML(content)
9
- @doc.remove_namespaces!
8
+ @doc = REXML::Document.new(content)
10
9
  end
11
10
 
12
11
  def group_id
13
- @doc.xpath("project/groupId").text || ""
12
+ @doc.text("project/groupId") || ""
14
13
  end
15
14
 
16
15
  def artifact_id
17
- @doc.xpath("project/artifactId").text || ""
16
+ @doc.text("project/artifactId") || ""
18
17
  end
19
18
 
20
19
  def name
21
- @doc.xpath("project/name").text || ""
20
+ @doc.text("project/name") || ""
22
21
  end
23
22
 
24
23
  def version
25
- @doc.xpath("project/version").text || ""
24
+ @doc.text("project/version") || ""
26
25
  end
27
26
 
28
27
  def description
29
- @doc.xpath("project/description").text || ""
28
+ @doc.text("project/description") || ""
30
29
  end
31
30
 
32
31
  def url
33
- @doc.xpath("project/url").text || ""
32
+ @doc.text("project/url") || ""
34
33
  end
35
34
 
36
35
  def license_name
37
- @doc.xpath("project/licenses/license/name").text || ""
36
+ @doc.text("project/licenses/license/name") || ""
38
37
  end
39
38
 
40
39
  def runtime_dependency_ids
41
- @doc.xpath("project/dependencies/dependency[\
40
+ @doc.get_elements("project/dependencies/dependency[\
42
41
  not(optional='true') and not(scope='provided') and not(scope='test') and not(scope='system')\
43
42
  ]").map do |element|
44
- [element.xpath("groupId").text, element.xpath("artifactId").text, element.xpath("version").text]
43
+ [element.text("groupId"), element.text("artifactId"), element.text("version")]
45
44
  end
46
45
  end
47
46
 
48
47
  def modules
49
- @doc.xpath("project/modules/module").map { |e| e.text }
48
+ @doc.get_elements("project/modules/module").map(&:text)
50
49
  end
51
50
 
52
51
  def scm_connection
53
- @doc.xpath("project/scm/connection").text || ""
52
+ @doc.text("project/scm/connection") || ""
54
53
  end
55
54
 
56
55
  def scm_url
57
- @doc.xpath("project/scm/url").text || ""
56
+ @doc.text("project/scm/url") || ""
58
57
  end
59
58
  end
60
59
  end
@@ -21,7 +21,7 @@ module Tetra
21
21
  log.debug("Attempting unpack of #{file} to find a POM")
22
22
  begin
23
23
  Zip::File.foreach(file) do |entry|
24
- if entry.name =~ /\/pom.xml$/
24
+ if entry.name =~ %r{/pom.xml$}
25
25
  log.info("pom.xml found in #{file}##{entry.name}")
26
26
  return entry.get_input_stream.read, :found_in_jar
27
27
  end
@@ -46,7 +46,7 @@ module Tetra
46
46
  unless result.nil?
47
47
  log.info("pom.xml for #{file} found on search.maven.org for sha1 #{sha1}\
48
48
  (#{result['g']}:#{result['a']}:#{result['v']})"
49
- )
49
+ )
50
50
  group_id, artifact_id, version = site.get_maven_id_from result
51
51
  return site.download_pom(group_id, artifact_id, version), :found_via_sha1
52
52
  end
@@ -70,7 +70,7 @@ module Tetra
70
70
  result = site.search_by_name(my_artifact_id).first
71
71
  log.debug("Artifact id search result: #{result}")
72
72
  unless result.nil?
73
- group_id, artifact_id, _ = site.get_maven_id_from result
73
+ group_id, artifact_id, = site.get_maven_id_from result
74
74
  results = site.search_by_group_id_and_artifact_id(group_id, artifact_id)
75
75
  log.debug("All versions: #{results}")
76
76
  their_versions = results.map { |doc| doc["v"] }
@@ -86,7 +86,7 @@ module Tetra
86
86
  group_id, artifact_id, version = site.get_maven_id_from(best_matched_result)
87
87
  log.warn("pom.xml for #{filename} found on search.maven.org with heuristic search\
88
88
  (#{group_id}:#{artifact_id}:#{version})"
89
- )
89
+ )
90
90
 
91
91
  return site.download_pom(group_id, artifact_id, version), :found_via_heuristic
92
92
  end
@@ -127,9 +127,7 @@ module Tetra
127
127
  comments += build_script_lines.map { |l| "tetra: build-script-line: #{l}" }
128
128
 
129
129
  # if this is the first dry-run, mark sources as tarball
130
- if first_dry_run
131
- comments << "tetra: sources-tarball"
132
- end
130
+ comments << "tetra: sources-tarball" if first_dry_run
133
131
 
134
132
  # commit end of dry run
135
133
  commit_whole_directory(".", *comments)
@@ -226,7 +224,7 @@ module Tetra
226
224
  def produced_files
227
225
  @git.latest_comment("tetra: dry-run-finished")
228
226
  .split("\n")
229
- .map { |line| line[/^tetra: file-changed: src\/(.+)$/, 1] }
227
+ .map { |line| line[%r{^tetra: file-changed: src/(.+)$}, 1] }
230
228
  .compact
231
229
  .sort
232
230
  end
@@ -2,5 +2,5 @@
2
2
 
3
3
  # base module for tetra
4
4
  module Tetra
5
- VERSION = "1.0.0"
5
+ VERSION = "1.1.0"
6
6
  end
@@ -52,7 +52,8 @@ describe Tetra::Package do
52
52
  expect(spec_lines).to include("Summary: Nailgun is a client, protocol, and server for running Java\n")
53
53
  expect(spec_lines).to include("Url: http://martiansoftware.com/nailgun\n")
54
54
  expect(spec_lines).to include("BuildRequires: test-project-kit == #{@project.version}\n")
55
- expect(spec_lines).to include("Provides: mvn(com.martiansoftware:nailgun-all) == 0.9.1\n")
55
+ expect(spec_lines).to include("Provides: mvn(com.martiansoftware:nailgun-server) == 0.9.1\n")
56
+ expect(spec_lines).to include("Provides: mvn(com.martiansoftware:nailgun-examples) == 0.9.1\n")
56
57
  expect(spec_lines).to include("cp -a out/test3.jar %{buildroot}%{_javadir}/test3.jar\n")
57
58
  end
58
59
  end
@@ -3,67 +3,96 @@
3
3
  require "spec_helper"
4
4
 
5
5
  describe Tetra::Pom do
6
- let(:pom) { Tetra::Pom.new(File.join("spec", "data", "commons-logging", "pom.xml")) }
6
+ let(:commons_pom) { Tetra::Pom.new(File.join("spec", "data", "commons-logging", "pom.xml")) }
7
+ let(:nailgun_pom) { Tetra::Pom.new(File.join("spec", "data", "nailgun", "pom.xml")) }
8
+ let(:struts_apps_pom) { Tetra::Pom.new(File.join("spec", "data", "struts-apps", "pom.xml")) }
7
9
 
8
10
  describe "#group_id" do
9
11
  it "reads the group id" do
10
- expect(pom.group_id).to eq "commons-logging"
12
+ expect(commons_pom.group_id).to eq "commons-logging"
13
+ expect(nailgun_pom.group_id).to eq "com.martiansoftware"
14
+ expect(struts_apps_pom.group_id).to eq "org.apache.struts"
11
15
  end
12
16
  end
13
17
 
14
18
  describe "#artifact_id" do
15
19
  it "reads the artifact id" do
16
- expect(pom.artifact_id).to eq "commons-logging"
20
+ expect(commons_pom.artifact_id).to eq "commons-logging"
21
+ expect(nailgun_pom.artifact_id).to eq "nailgun-all"
22
+ expect(struts_apps_pom.artifact_id).to eq "struts2-apps"
17
23
  end
18
24
  end
19
25
 
20
26
  describe "#name" do
21
27
  it "reads artifact name" do
22
- expect(pom.name).to eq "Commons Logging"
28
+ expect(commons_pom.name).to eq "Commons Logging"
29
+ expect(nailgun_pom.name).to eq "nailgun-all"
30
+ expect(struts_apps_pom.name).to eq "Webapps"
23
31
  end
24
32
  end
25
33
 
26
34
  describe "#version" do
27
35
  it "reads the version" do
28
- expect(pom.version).to eq "1.1.1"
36
+ expect(commons_pom.version).to eq "1.1.1"
37
+ expect(nailgun_pom.version).to eq "0.9.1"
38
+ expect(struts_apps_pom.version).to eq ""
29
39
  end
30
40
  end
31
41
 
32
42
  describe "#description" do
33
43
  it "reads the description" do
34
- expect(pom.description).to eq "Commons Logging is a thin adapter allowing configurable bridging to other,\n " \
35
- "well known logging systems."
44
+ expect(commons_pom.description).to eq "Commons Logging is a thin adapter allowing configurable bridging to other,
45
+ well known logging systems."
46
+ expect(nailgun_pom.description).to eq "
47
+ Nailgun is a client, protocol, and server for running Java programs
48
+ from the command line without incurring the JVM startup overhead.
49
+ Programs run in the server (which is implemented in Java), and are
50
+ triggered by the client (written in C), which handles all I/O.
51
+
52
+ This project contains the server and examples.
53
+ "
54
+ expect(struts_apps_pom.description).to eq ""
36
55
  end
37
56
  end
38
57
 
39
58
  describe "#url" do
40
59
  it "reads the url" do
41
- expect(pom.url).to eq "http://commons.apache.org/logging"
60
+ expect(commons_pom.url).to eq "http://commons.apache.org/logging"
61
+ expect(nailgun_pom.url).to eq "http://martiansoftware.com/nailgun"
62
+ expect(struts_apps_pom.url).to eq ""
42
63
  end
43
64
  end
44
65
 
45
66
  describe "#license_name" do
46
67
  it "reads the license name" do
47
- expect(pom.license_name).to eq ""
68
+ expect(commons_pom.license_name).to eq ""
69
+ expect(nailgun_pom.license_name).to eq "The Apache Software License, Version 2.0"
70
+ expect(struts_apps_pom.license_name).to eq ""
48
71
  end
49
72
  end
50
73
 
51
74
  describe "#runtime_dependency_ids" do
52
75
  it "reads the dependency maven ids" do
53
- expect(pom.runtime_dependency_ids).to eq []
76
+ expect(commons_pom.runtime_dependency_ids).to eq []
77
+ expect(nailgun_pom.runtime_dependency_ids).to eq []
78
+ expect(struts_apps_pom.runtime_dependency_ids).to eq [["org.apache.struts", "struts2-core", "${project.version}"]]
54
79
  end
55
80
  end
56
81
 
57
82
  describe "#scm_connection" do
58
83
  it "reads the SCM connection address" do
59
- expect(pom.scm_connection).to eq "scm:svn:http://svn.apache.org/repos/asf/commons/proper/" \
84
+ expect(commons_pom.scm_connection).to eq "scm:svn:http://svn.apache.org/repos/asf/commons/proper/" \
60
85
  "logging/tags/commons-logging-1.1.1"
86
+ expect(nailgun_pom.scm_connection).to eq "scm:git:git@github.com:martylamb/nailgun.git"
87
+ expect(struts_apps_pom.scm_connection).to eq "scm:svn:http://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_2_3_14/apps"
61
88
  end
62
89
  end
63
90
 
64
91
  describe "#scm_url" do
65
92
  it "reads the SCM connection url" do
66
- expect(pom.scm_url).to eq "http://svn.apache.org/repos/asf/commons/proper/logging/tags/commons-logging-1.1.1"
93
+ expect(commons_pom.scm_url).to eq "http://svn.apache.org/repos/asf/commons/proper/logging/tags/commons-logging-1.1.1"
94
+ expect(nailgun_pom.scm_url).to eq "scm:git:git@github.com:martylamb/nailgun.git"
95
+ expect(struts_apps_pom.scm_url).to eq "http://svn.apache.org/viewcvs.cgi/struts/struts2/tags/STRUTS_2_3_14/apps"
67
96
  end
68
97
  end
69
98
  end
@@ -42,7 +42,7 @@ describe Tetra::Scriptable do
42
42
  expect(lines).to include("$PROJECT_PREFIX/kit/mvn/bin/mvn \
43
43
  -Dmaven.repo.local=$PROJECT_PREFIX/kit/m2 --settings $PROJECT_PREFIX/kit/m2/settings.xml \
44
44
  --strict-checksums -o --options\n"
45
- )
45
+ )
46
46
 
47
47
  expect(lines).not_to include("some earlier command\n")
48
48
  expect(lines).not_to include("tetra dry-run --unwanted-options\n")
@@ -23,10 +23,9 @@ Gem::Specification.new do |s|
23
23
  s.add_development_dependency "rspec"
24
24
 
25
25
  s.add_runtime_dependency "clamp"
26
- s.add_runtime_dependency "rubyzip", ">= 1.0"
26
+ s.add_runtime_dependency "json_pure"
27
+ s.add_runtime_dependency "open4"
27
28
  s.add_runtime_dependency "rest-client"
28
- s.add_runtime_dependency "json"
29
+ s.add_runtime_dependency "rubyzip", ">= 1.0"
29
30
  s.add_runtime_dependency "text"
30
- s.add_runtime_dependency "nokogiri"
31
- s.add_runtime_dependency "open4"
32
31
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tetra
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-04-17 00:00:00.000000000 Z
12
+ date: 2015-06-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
@@ -60,23 +60,7 @@ dependencies:
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  - !ruby/object:Gem::Dependency
63
- name: rubyzip
64
- requirement: !ruby/object:Gem::Requirement
65
- none: false
66
- requirements:
67
- - - ! '>='
68
- - !ruby/object:Gem::Version
69
- version: '1.0'
70
- type: :runtime
71
- prerelease: false
72
- version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
- requirements:
75
- - - ! '>='
76
- - !ruby/object:Gem::Version
77
- version: '1.0'
78
- - !ruby/object:Gem::Dependency
79
- name: rest-client
63
+ name: json_pure
80
64
  requirement: !ruby/object:Gem::Requirement
81
65
  none: false
82
66
  requirements:
@@ -92,7 +76,7 @@ dependencies:
92
76
  - !ruby/object:Gem::Version
93
77
  version: '0'
94
78
  - !ruby/object:Gem::Dependency
95
- name: json
79
+ name: open4
96
80
  requirement: !ruby/object:Gem::Requirement
97
81
  none: false
98
82
  requirements:
@@ -108,7 +92,7 @@ dependencies:
108
92
  - !ruby/object:Gem::Version
109
93
  version: '0'
110
94
  - !ruby/object:Gem::Dependency
111
- name: text
95
+ name: rest-client
112
96
  requirement: !ruby/object:Gem::Requirement
113
97
  none: false
114
98
  requirements:
@@ -124,13 +108,13 @@ dependencies:
124
108
  - !ruby/object:Gem::Version
125
109
  version: '0'
126
110
  - !ruby/object:Gem::Dependency
127
- name: nokogiri
111
+ name: rubyzip
128
112
  requirement: !ruby/object:Gem::Requirement
129
113
  none: false
130
114
  requirements:
131
115
  - - ! '>='
132
116
  - !ruby/object:Gem::Version
133
- version: '0'
117
+ version: '1.0'
134
118
  type: :runtime
135
119
  prerelease: false
136
120
  version_requirements: !ruby/object:Gem::Requirement
@@ -138,9 +122,9 @@ dependencies:
138
122
  requirements:
139
123
  - - ! '>='
140
124
  - !ruby/object:Gem::Version
141
- version: '0'
125
+ version: '1.0'
142
126
  - !ruby/object:Gem::Dependency
143
- name: open4
127
+ name: text
144
128
  requirement: !ruby/object:Gem::Requirement
145
129
  none: false
146
130
  requirements:
@@ -345,12 +329,12 @@ files:
345
329
  - lib/template/bundled/apache-maven-3.2.5/lib/wagon-provider-api.license
346
330
  - lib/template/gitignore
347
331
  - lib/template/kit.spec
348
- - lib/template/kit/CONTENTS
349
- - lib/template/kit/jars/CONTENTS
332
+ - lib/template/kit/.keep
333
+ - lib/template/kit/jars/.keep
350
334
  - lib/template/kit/m2/settings.xml
351
335
  - lib/template/package.spec
352
- - lib/template/packages/CONTENTS
353
- - lib/template/src/CONTENTS
336
+ - lib/template/packages/.keep
337
+ - lib/template/src/.keep
354
338
  - lib/tetra.rb
355
339
  - lib/tetra/facades/ant.rb
356
340
  - lib/tetra/facades/bash.rb
@@ -1,9 +0,0 @@
1
- This directory contains all binary files needed to build software in src/.
2
-
3
- These files will be packaged as binary and will only be used at build time.
4
- They will not be installed on users' systems.
5
-
6
- - jars/ contains simple jars (eg. for Ant use)
7
- - m2/ contains a Maven repo
8
- - apache-ant-* contains a stable Ant release
9
- - apache-maven-* contains a stable Maven release
@@ -1,3 +0,0 @@
1
- This directory contains binary files needed to build software in src/.
2
-
3
- Only jar files not in m2/ should be placed here.
@@ -1 +0,0 @@
1
- tetra will save all output files it generates (specs, archives, etc.) here.
@@ -1,3 +0,0 @@
1
- All "verbatim" source files should be placed here (as checked out from
2
- the original source repository), together with any additional files you
3
- might need for the build.