uppercutbuild 1.0.6.0 → 1.1.0.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.
- data/docs/README +4 -1
- data/lib/build/UppercuT.xml +1 -1
- data/lib/build/default.build +3 -0
- data/lib/build/obfuscate.step +138 -0
- data/lib/build/uppercut.dll +0 -0
- data/lib/build/uppercut.tasks.dll +0 -0
- data/lib/build/versionBuilder.step +5 -0
- data/lib/build/versioners/git.step +1 -1
- data/lib/build/versioners/hg.step +1 -1
- data/lib/settings/UppercuT.config +5 -0
- metadata +5 -4
data/docs/README
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
Project UppercuT - Builds in Seconds, Not Days
|
2
2
|
=======
|
3
3
|
|
4
|
-

|
5
5
|
|
6
6
|
# LICENSE
|
7
7
|
Apache 2.0 - see docs/legal (just LEGAL in the zip folder)
|
@@ -59,6 +59,9 @@ It helps keep to the product updated, pays for site hosting, etc. https://www.pa
|
|
59
59
|
* Adding in support for xUnit.
|
60
60
|
* Adding in support for StorEvil.
|
61
61
|
|
62
|
+
=1.1.0.0=
|
63
|
+
* Added support for obfuscation. New settings have been added to the uppercut.config: <property name="obfuscation" value="false" overwrite="false" /> <property name="app.eazfuscator" value="..${path.separator}${folder.references}${path.separator}Eazfuscator.NET${path.separator}Eazfuscator.NET.exe" overwrite="false" /> and a tool that goes under the lib folder: Eazfuscator.NET - see http://code.google.com/p/uppercut/issues/detail?id=21 for details. (372)
|
64
|
+
|
62
65
|
=1.0.6.0=
|
63
66
|
* Updating xbuild for use with 32bit windows machines. (369)
|
64
67
|
* Gallio NAnt tasks were not being loaded - see http://code.google.com/p/uppercut/issues/detail?id=17 for details. (368)
|
data/lib/build/UppercuT.xml
CHANGED
data/lib/build/default.build
CHANGED
@@ -30,6 +30,8 @@
|
|
30
30
|
<property name="run.ilmerge" value="false" overwrite="false" />
|
31
31
|
<property name="file.uppercut.assembly" value="uppercut.tasks.dll" />
|
32
32
|
<property name="path.uppercut.assembly" value="${dirs.current}${path.separator}${file.uppercut.assembly}" />
|
33
|
+
<property name="obfuscate" value="false" overwrite="false" />
|
34
|
+
|
33
35
|
<property name="file.custom.step.before" value="${dirs.build_scripts_custom}${path.separator}${file.current.no_extension}.pre.build" />
|
34
36
|
<property name="file.custom.step.after" value="${dirs.build_scripts_custom}${path.separator}${file.current.no_extension}.post.build" />
|
35
37
|
<property name="file.custom.step.replace" value="${dirs.build_scripts_custom}${path.separator}${file.current.no_extension}.replace.build" />
|
@@ -98,6 +100,7 @@
|
|
98
100
|
<nant buildfile="${dirs.current}${path.separator}compile.step" inheritall="true" />
|
99
101
|
<nant buildfile="${dirs.current}${path.separator}environmentBuilder.step" inheritall="true" />
|
100
102
|
<nant buildfile="${dirs.current}${path.separator}analyze.step" inheritall="true" />
|
103
|
+
<nant buildfile="${dirs.current}${path.separator}obfuscate.step" inheritall="true" if="${obfuscate}" />
|
101
104
|
<nant buildfile="${dirs.current}${path.separator}package.step" inheritall="true" />
|
102
105
|
<nant buildfile="${dirs.current}${path.separator}ilmerge.build" inheritall="true" if="${run.ilmerge}" />
|
103
106
|
<nant buildfile="${dirs.current}${path.separator}gemsPrepare.step" inheritall="true" failonerror="false" />
|
@@ -0,0 +1,138 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8" ?>
|
2
|
+
<project name="Obfuscator" default="go">
|
3
|
+
<!-- Project UppercuT - http://projectuppercut.org -->
|
4
|
+
<!-- DO NOT EDIT THIS FILE - This creates the assembly file to be used by the rest of the application - find out more at http://uppercut.pbwiki.com -->
|
5
|
+
<property name="build.config.settings" value="__NONE__" overwrite="false" />
|
6
|
+
<include buildfile="${build.config.settings}" if="${file::exists(build.config.settings)}" />
|
7
|
+
<property name="path.separator" value="${string::trim(path::combine(' ', ' '))}" />
|
8
|
+
<property name="file.current.no_extension" value="obfuscate" />
|
9
|
+
<property name="dirs.current" value="${directory::get-parent-directory(project::get-buildfile-path())}" />
|
10
|
+
<property name="path.to.toplevel" value=".." />
|
11
|
+
<property name="folder.build_scripts" value="build" overwrite="false" />
|
12
|
+
<property name="folder.build_scripts_custom" value="build.custom" overwrite="false" />
|
13
|
+
<property name="dirs.build_scripts_custom" value="${dirs.current}${path.separator}${path.to.toplevel}${path.separator}${folder.build_scripts_custom}" />
|
14
|
+
<property name="folder.references" value="lib" overwrite="false" />
|
15
|
+
<property name="dirs.lib" value="${dirs.current}${path.separator}${path.to.toplevel}${path.separator}${folder.references}" overwrite="false" />
|
16
|
+
<property name="folder.code_build" value="build_output" overwrite="false" />
|
17
|
+
<property name="dirs.build" value="${dirs.current}${path.separator}${path.to.toplevel}${path.separator}${folder.code_build}" />
|
18
|
+
<property name="project.name" value="__SOLUTION_NAME_WITHOUT_SLN_EXTENSION__" overwrite="false" />
|
19
|
+
<property name="company.name" value="__COMPANY_NAME__" overwrite="false" />
|
20
|
+
<property name="path_to_solution" value="." overwrite="false" />
|
21
|
+
<property name="folder.app.drop" value="${project.name}" overwrite="false" />
|
22
|
+
<property name="dirs.build.code" value="${dirs.build}${path.separator}${folder.app.drop}" overwrite="false" />
|
23
|
+
|
24
|
+
<property name="version.use_semanticversioning" value="false" overwrite="false" />
|
25
|
+
<property name="version.major" value="1" overwrite="false" />
|
26
|
+
<property name="version.minor" value="0" overwrite="false" />
|
27
|
+
<property name="version.patch" value="0" overwrite="false" />
|
28
|
+
<property name="version.build" value="0" overwrite="false" />
|
29
|
+
<property name="version.revision" value="0" overwrite="false" />
|
30
|
+
<property name="version.hash" value="${version.revision}" overwrite="false" />
|
31
|
+
<property name="version.file" value="${version.major}.${version.minor}.${version.build}.${version.revision}" overwrite="false" />
|
32
|
+
|
33
|
+
<property name="sign.project_with_key" value="false" overwrite="false" />
|
34
|
+
<property name="sign.key.use_relative_pathing" value="false" overwrite="false" />
|
35
|
+
<property name="file.key.name.private" value="${dirs.current}${path.separator}${path.to.toplevel}${path.separator}${project.name}.snk" overwrite="false" />
|
36
|
+
<property name="file.key.name.private" value="${path.to.toplevel}${path.separator}${project.name}.snk" overwrite="false" if="${sign.key.use_relative_pathing}" />
|
37
|
+
<property name="obsfucate" value="false" overwrite="false" />
|
38
|
+
<property name="app.eazfuscator" value="..${path.separator}${folder.references}${path.separator}Eazfuscator.NET${path.separator}Eazfuscator.NET.exe" overwrite="false" />
|
39
|
+
<property name="args.obfuscator" value="" overwrite="false" />
|
40
|
+
|
41
|
+
<property name="dll.names" value="" />
|
42
|
+
|
43
|
+
<property name="file.custom.step.before" value="${dirs.build_scripts_custom}${path.separator}${file.current.no_extension}.pre.step" />
|
44
|
+
<property name="file.custom.step.after" value="${dirs.build_scripts_custom}${path.separator}${file.current.no_extension}.post.step" />
|
45
|
+
<property name="file.custom.step.replace" value="${dirs.build_scripts_custom}${path.separator}${file.current.no_extension}.replace.step" />
|
46
|
+
<property name="is.replaced" value="false" />
|
47
|
+
<property name="fail.build.on.error" value="true" />
|
48
|
+
|
49
|
+
<target name="go" depends="run_tasks" />
|
50
|
+
|
51
|
+
<target name="run_tasks">
|
52
|
+
<echo message="Running ${project::get-name()} tasks." />
|
53
|
+
<call target="prepare" if="${target::exists('prepare')}" />
|
54
|
+
<call target="custom_tasks_before" if="${target::exists('custom_tasks_before')}" />
|
55
|
+
<call target="custom_tasks_replace" if="${target::exists('custom_tasks_replace')}" />
|
56
|
+
<call target="run_normal_tasks" if="${not is.replaced}" />
|
57
|
+
<call target="custom_tasks_after" if="${target::exists('custom_tasks_after')}" />
|
58
|
+
</target>
|
59
|
+
|
60
|
+
<target name="run_normal_tasks"
|
61
|
+
depends="error_check, get_version, get_project_output_files, set_up_args, obfuscate"
|
62
|
+
description="Generating Assembly File." />
|
63
|
+
|
64
|
+
<target name="custom_tasks_before">
|
65
|
+
<echo message="Running custom tasks if ${file.custom.step.before} exists." />
|
66
|
+
<nant buildfile="${file.custom.step.before}" inheritall="true" if="${file::exists(file.custom.step.before)}" failonerror="${fail.build.on.error}" />
|
67
|
+
<exec program="powershell.exe" if="${file::exists(file.custom.step.before + '.ps1')}" failonerror="${fail.build.on.error}">
|
68
|
+
<arg value="${path::get-full-path(file.custom.step.before + '.ps1')}" />
|
69
|
+
</exec>
|
70
|
+
<exec program="ruby.exe" if="${file::exists(file.custom.step.before + '.rb')}" failonerror="${fail.build.on.error}">
|
71
|
+
<arg value="${path::get-full-path(file.custom.step.before + '.rb')}" />
|
72
|
+
</exec>
|
73
|
+
</target>
|
74
|
+
|
75
|
+
<target name="custom_tasks_replace">
|
76
|
+
<echo message="Running custom tasks instead of normal tasks if ${file.custom.step.replace} exists." />
|
77
|
+
<property name="is.replaced" value="true" if="${file::exists(file.custom.step.replace)}" />
|
78
|
+
<nant buildfile="${file.custom.step.replace}" inheritall="true" if="${file::exists(file.custom.step.replace)}" failonerror="${fail.build.on.error}" />
|
79
|
+
<property name="is.replaced" value="true" if="${file::exists(file.custom.step.replace + '.ps1')}" />
|
80
|
+
<exec program="powershell.exe" if="${file::exists(file.custom.step.replace + '.ps1')}" failonerror="${fail.build.on.error}" >
|
81
|
+
<arg value="${path::get-full-path(file.custom.step.replace + '.ps1')}" />
|
82
|
+
</exec>
|
83
|
+
<property name="is.replaced" value="true" if="${file::exists(file.custom.step.replace + '.rb')}" />
|
84
|
+
<exec program="ruby.exe" if="${file::exists(file.custom.step.replace + '.rb')}" failonerror="${fail.build.on.error}" >
|
85
|
+
<arg value="${path::get-full-path(file.custom.step.replace + '.rb')}" />
|
86
|
+
</exec>
|
87
|
+
</target>
|
88
|
+
|
89
|
+
<target name="error_check">
|
90
|
+
<fail message="You must fill out the project.name, repository.path, and company.name settings in the settings${path.separator}UppercuT.config file. Please do that and retry the build."
|
91
|
+
if="${project.name=='__SOLUTION_NAME_WITHOUT_SLN_EXTENSION__' or company.name=='__COMPANY_NAME__'}" />
|
92
|
+
</target>
|
93
|
+
|
94
|
+
<target name="get_version">
|
95
|
+
<property name="version.file" value="${version.major}.${version.minor}.${version.build}.${version.revision}" />
|
96
|
+
<property name="version.file" value="${version.major}.${version.minor}.${version.patch}.${version.build}" if="${version.use_semanticversioning}" />
|
97
|
+
</target>
|
98
|
+
|
99
|
+
<target name="get_project_output_files">
|
100
|
+
<foreach item="File" property="dll.filename">
|
101
|
+
<in>
|
102
|
+
<items>
|
103
|
+
<include name="${dirs.build.code}${path.separator}**${path.separator}*" />
|
104
|
+
</items>
|
105
|
+
</in>
|
106
|
+
<do>
|
107
|
+
<!--echo message="${dll.filename + ' - ' + version::to-string(fileversioninfo::get-file-version(fileversioninfo::get-version-info(dll.filename)))}" /-->
|
108
|
+
<property name="dll.names" value="${dll.names + ' ' + string::replace(string::replace(dll.filename,path::get-full-path(dirs.build.code) + '\',''),'\',path.separator) + ''}" if="${version::to-string(fileversioninfo::get-file-version(fileversioninfo::get-version-info(dll.filename))) == version.file}" />
|
109
|
+
</do>
|
110
|
+
</foreach>
|
111
|
+
</target>
|
112
|
+
|
113
|
+
<target name="set_up_args">
|
114
|
+
<property name="args.obfuscator" value="${args.obfuscator + ' -k ' + file.key.name.private}" if="${sign.project_with_key}" />
|
115
|
+
<property name="args.obfuscator" value="${args.obfuscator + ' ' + dll.names}" />
|
116
|
+
</target>
|
117
|
+
|
118
|
+
<target name="obfuscate">
|
119
|
+
<echo message="Attempting to obsfucate using Eazfuscator.NET with these arguments: ${path::get-full-path(app.eazfuscator)} ${args.obfuscator}" />
|
120
|
+
<exec
|
121
|
+
program="${path::get-full-path(app.eazfuscator)}"
|
122
|
+
workingdir="${dirs.build.code}"
|
123
|
+
commandline="${args.obfuscator}"
|
124
|
+
if="${file::exists(path::get-full-path(app.eazfuscator))}" />
|
125
|
+
</target>
|
126
|
+
|
127
|
+
<target name="custom_tasks_after">
|
128
|
+
<echo message="Running custom tasks if ${file.custom.step.after} exists." />
|
129
|
+
<nant buildfile="${file.custom.step.after}" inheritall="true" if="${file::exists(file.custom.step.after)}" failonerror="${fail.build.on.error}" />
|
130
|
+
<exec program="powershell.exe" if="${file::exists(file.custom.step.after + '.ps1')}" failonerror="${fail.build.on.error}" >
|
131
|
+
<arg value="${path::get-full-path(file.custom.step.after + '.ps1')}" />
|
132
|
+
</exec>
|
133
|
+
<exec program="ruby.exe" if="${file::exists(file.custom.step.after + '.rb')}" failonerror="${fail.build.on.error}" >
|
134
|
+
<arg value="${path::get-full-path(file.custom.step.after + '.rb')}" />
|
135
|
+
</exec>
|
136
|
+
</target>
|
137
|
+
|
138
|
+
</project>
|
data/lib/build/uppercut.dll
CHANGED
Binary file
|
Binary file
|
@@ -37,6 +37,8 @@
|
|
37
37
|
<property name="file.key.name.private" value="${dirs.current}${path.separator}${path.to.toplevel}${path.separator}${project.name}.snk" overwrite="false" />
|
38
38
|
<property name="file.key.name.private" value="${path.to.toplevel}${path.separator}${project.name}.snk" overwrite="false" if="${sign.key.use_relative_pathing}" />
|
39
39
|
<property name="file.key.name.public" value="${dirs.build}${path.separator}public.${project.name}.snk" overwrite="false" />
|
40
|
+
<property name="obfuscate" value="false" overwrite="false" />
|
41
|
+
|
40
42
|
<property name="file.custom.step.before" value="${dirs.build_scripts_custom}${path.separator}${file.current.no_extension}.pre.step" />
|
41
43
|
<property name="file.custom.step.after" value="${dirs.build_scripts_custom}${path.separator}${file.current.no_extension}.post.step" />
|
42
44
|
<property name="file.custom.step.replace" value="${dirs.build_scripts_custom}${path.separator}${file.current.no_extension}.replace.step" />
|
@@ -123,6 +125,7 @@
|
|
123
125
|
<import namespace="System" />
|
124
126
|
<import namespace="System.Reflection" />
|
125
127
|
<import namespace="System.Runtime.InteropServices" />
|
128
|
+
<import namespace="System.Runtime.CompilerServices" />
|
126
129
|
<import namespace="System.Security" />
|
127
130
|
</imports>
|
128
131
|
<attributes>
|
@@ -140,6 +143,8 @@
|
|
140
143
|
<attribute type="AllowPartiallyTrustedCallers" if="${allow.partially_trusted_callers}" asis="true" />
|
141
144
|
<attribute type="AssemblyKeyFileAttribute" value="${file.key.name.private}" if="${sign.project_with_key and not sign.key.use_relative_pathing}" />
|
142
145
|
<attribute type="AssemblyKeyFileAttribute" value="${sign.key.relative_path_from_projects}${path.separator}${path::get-file-name(file.key.name.private)}" if="${sign.project_with_key and sign.key.use_relative_pathing}" />
|
146
|
+
<!--attribute type="SuppressIldasmAttribute" value="true" if="${obsfuscate}" /-->
|
147
|
+
<attribute type="ObfuscateAssemblyAttribute" value="false" if="${obfuscate}" />
|
143
148
|
</attributes>
|
144
149
|
</asminfo>
|
145
150
|
</target>
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<?xml version="1.0" encoding="utf-8" ?>
|
2
|
-
<project name="
|
2
|
+
<project name="GitVersioner" default="go">
|
3
3
|
<!-- Project UppercuT - http://projectuppercut.org -->
|
4
4
|
<!-- DO NOT EDIT THIS FILE - This creates the assembly file to be used by the rest of the application - find out more at http://uppercut.pbwiki.com -->
|
5
5
|
<property name="build.config.settings" value="__NONE__" overwrite="false" />
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<?xml version="1.0" encoding="utf-8" ?>
|
2
|
-
<project name="
|
2
|
+
<project name="HGVersioner" default="go">
|
3
3
|
<!-- Project UppercuT - http://projectuppercut.org -->
|
4
4
|
<!-- DO NOT EDIT THIS FILE - This creates the assembly file to be used by the rest of the application - find out more at http://uppercut.pbwiki.com -->
|
5
5
|
<property name="build.config.settings" value="__NONE__" overwrite="false" />
|
@@ -51,10 +51,13 @@
|
|
51
51
|
<!-- To use relative pathing your projects all need to be at the same level. -->
|
52
52
|
<property name="sign.key.use_relative_pathing" value="false" overwrite="false" />
|
53
53
|
<property name="sign.key.relative_path_from_projects" value="..${path.separator}..${path.separator}" overwrite="false" />
|
54
|
+
<property name="obfuscate" value="false" overwrite="false" />
|
54
55
|
|
55
56
|
<!-- COMPILE VARIABLES -->
|
56
57
|
<property name="msbuild.configuration" value="Release" overwrite="false" />
|
57
58
|
<property name="msbuild.platform" value="Any CPU" overwrite="false" />
|
59
|
+
<!-- Mixed Platforms is the default 4.0 build platform -->
|
60
|
+
<!--property name="msbuild.platform" value="Mixed Platforms" overwrite="false" /-->
|
58
61
|
<!-- This setting allows you to use your own output path by setting to false - this does not work in conjuction with multitargeting -->
|
59
62
|
<property name="msbuild.override_output_path" value="true" overwrite="false" />
|
60
63
|
|
@@ -77,6 +80,8 @@
|
|
77
80
|
<property name="app.moma" value="..\..\${folder.references}\MoMA\MoMA.exe" overwrite="false" />
|
78
81
|
<property name="app.nitriq" value="C:\Program Files (x86)\NimblePros\Nitriq Console + Pro\Nitriq.Console.exe" overwrite="false" />
|
79
82
|
<property name="app.xbuild" value="C:\Program Files (x86)\Mono-2.8\bin\xbuild.bat" overwrite="false" />
|
83
|
+
<property name="app.eazfuscator" value="..${path.separator}${folder.references}${path.separator}Eazfuscator.NET${path.separator}Eazfuscator.NET.exe" overwrite="false" />
|
84
|
+
|
80
85
|
<property name="allow.powershell.unrestricted" value="false" overwrite="false" />
|
81
86
|
<property name="run.ilmerge" value="false" overwrite="false" />
|
82
87
|
</project>
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: uppercutbuild
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 87
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 1
|
8
|
+
- 1
|
8
9
|
- 0
|
9
|
-
- 6
|
10
10
|
- 0
|
11
|
-
version: 1.0.
|
11
|
+
version: 1.1.0.0
|
12
12
|
platform: ruby
|
13
13
|
authors:
|
14
14
|
- Rob "FerventCoder" Reynolds
|
@@ -17,7 +17,7 @@ autorequire:
|
|
17
17
|
bindir: bin
|
18
18
|
cert_chain: []
|
19
19
|
|
20
|
-
date: 2010-
|
20
|
+
date: 2010-12-20 00:00:00 -06:00
|
21
21
|
default_executable:
|
22
22
|
dependencies:
|
23
23
|
- !ruby/object:Gem::Dependency
|
@@ -77,6 +77,7 @@ files:
|
|
77
77
|
- lib/build/gemsPrepare.step
|
78
78
|
- lib/build/generateBuildInfo.step
|
79
79
|
- lib/build/ilmerge.build
|
80
|
+
- lib/build/obfuscate.step
|
80
81
|
- lib/build/open.build
|
81
82
|
- lib/build/package.step
|
82
83
|
- lib/build/policyChecks.step
|