Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
A
Autopsy
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Package registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
IRT
Autopsy
Commits
84e3110b
Commit
84e3110b
authored
12 years ago
by
Devin148
Browse files
Options
Downloads
Patches
Plain Diff
Update release script and ant target
parent
cd00782f
No related branches found
No related tags found
No related merge requests found
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
.gitignore
+5
-4
5 additions, 4 deletions
.gitignore
build.xml
+10
-7
10 additions, 7 deletions
build.xml
nbproject/project.properties
+1
-0
1 addition, 0 deletions
nbproject/project.properties
update_versions.py
+100
-60
100 additions, 60 deletions
update_versions.py
with
116 additions
and
71 deletions
.gitignore
+
5
−
4
View file @
84e3110b
...
...
@@ -26,8 +26,9 @@ genfiles.properties
*~
/netbeans-plat
/docs/doxygen/doxygen_docs
/thirdparty/jdiff/v-custom/javadocs/*
/thirdparty/jdiff/v-custom/xml/*
/thirdparty/jdiff/v-custom/autopsy/*
/thirdparty/jdiff/v-custom/logs/*
/jdiff-javadocs/*
/jdiff-xml/*
/jdiff-logs/*
/autopsy-update_versions/*
/gen_version.txt
This diff is collapsed.
Click to expand it.
build.xml
+
10
−
7
View file @
84e3110b
...
...
@@ -205,18 +205,21 @@
</target>
<target
name=
"release-script"
>
<echo>
** build type: ${build.type}
</echo>
<echo>
** update_versions = ${update_versions}
</echo>
<if>
<equals
arg1=
"${build.type}"
arg2=
"RELEASE"
/>
<and>
<equals
arg1=
"${build.type}"
arg2=
"RELEASE"
/>
<equals
arg1=
"${update_versions}"
arg2=
"true"
/>
</and>
<then>
<echo>
Running script for release: ${build.type}
</echo>
<exec
dir=
"${thirdparty.dir}/jdiff/v-custom"
executable=
"python"
>
<arg
line=
"release.py -a"
/>
<exec
dir=
"${basedir}"
executable=
"python"
failonerror=
"true"
resultproperty=
"App.state"
>
<arg
line=
"update_versions.py -a"
/>
</exec>
</then>
<else>
<echo>
Running script for development: ${build.type}
</echo>
<exec
dir=
"${thirdparty.dir}/jdiff/v-custom"
executable=
"python"
>
<arg
value=
"release.py"
/>
<exec
dir=
"${basedir}"
executable=
"python"
failonerror=
"true"
resultproperty=
"App.state"
>
<arg
value=
"update_versions.py"
/>
</exec>
</else>
</if>
...
...
This diff is collapsed.
Click to expand it.
nbproject/project.properties
+
1
−
0
View file @
84e3110b
...
...
@@ -9,6 +9,7 @@ app.name=autopsy
### Must be one of: DEVELOPMENT, RELEASE
#build.type=RELEASE
build.type
=
DEVELOPMENT
update_versions
=
false
auxiliary.org-netbeans-modules-apisupport-installer.license-type
=
apache.v2
auxiliary.org-netbeans-modules-apisupport-installer.os-linux
=
false
auxiliary.org-netbeans-modules-apisupport-installer.os-macosx
=
false
...
...
This diff is collapsed.
Click to expand it.
thirdparty/jdiff/v-custom/release
.py
→
update_versions
.py
+
100
−
60
View file @
84e3110b
# ============================================================
# update_versions.py
# ============================================================
#
# When run from the Autopsy build script, this script will:
# - Clone Autopsy and checkout to the previous release tag
# as found in the NEWS.txt file
# - Auto-discover all modules and packages
# - Run jdiff, comparing the current and previous modules
# - Use jdiff's output to determine if each module
# a) has no changes
# b) has backwards compatible changes
# c) has backwards incompatible changes
# - Based off it's compatibility, updates each module's
# a) Major version
# b) Specification version
# c) Implementation version
# - Updates the dependencies on each module depending on the
# updated version numbers
#
# Optionally, when run from the command line, one can provide the
# desired tag to compare the current version to, the directory for
# the current version of Autopsy, and whether to automatically
# update the version numbers and dependencies.
# ------------------------------------------------------------
import
os
import
shutil
import
subprocess
...
...
@@ -112,24 +138,25 @@ def set(self, num):
# return code 1 = error in jdiff
# return code 100 = no changes
# return code 101 = compatible changes
# return code 102 =
un-
compatible changes
# return code 102 =
in
compatible changes
def
compare_xml
(
module
,
apiname_tag
,
apiname_cur
):
global
docdir
make_dir
(
docdir
)
null_file
=
fix_path
(
"
lib/Null.java
"
)
oldapi
=
fix_path
(
"
xml/
"
+
apiname_tag
+
"
-
"
+
module
.
name
)
newapi
=
fix_path
(
"
xml/
"
+
apiname_cur
+
"
-
"
+
module
.
name
)
null_file
=
fix_path
(
os
.
path
.
abspath
(
"
./thirdparty/jdiff/v-custom/lib/Null.java
"
))
jdiff
=
fix_path
(
os
.
path
.
abspath
(
"
./thirdparty/jdiff/v-custom/jdiff.jar
"
))
oldapi
=
fix_path
(
"
jdiff-xml/
"
+
apiname_tag
+
"
-
"
+
module
.
name
)
newapi
=
fix_path
(
"
jdiff-xml/
"
+
apiname_cur
+
"
-
"
+
module
.
name
)
docs
=
fix_path
(
docdir
+
"
/
"
+
module
.
name
)
comments
=
fix_path
(
docs
+
"
/user_comments_for_xml
"
)
tag_comments
=
fix_path
(
comments
+
"
/
"
+
apiname_tag
+
"
-
"
+
module
.
name
+
"
_to_xml
"
)
comments
=
fix_path
(
docs
+
"
/user_comments_for_
jdiff-
xml
"
)
tag_comments
=
fix_path
(
comments
+
"
/
"
+
apiname_tag
+
"
-
"
+
module
.
name
+
"
_to_
jdiff-
xml
"
)
make_dir
(
docs
)
make_dir
(
comments
)
make_dir
(
tag_comments
)
make_dir
(
"
logs
"
)
log
=
open
(
"
logs/COMPARE-
"
+
module
.
name
+
"
.log
"
,
"
w
"
)
make_dir
(
"
jdiff-
logs
"
)
log
=
open
(
"
jdiff-
logs/COMPARE-
"
+
module
.
name
+
"
.log
"
,
"
w
"
)
cmd
=
[
"
javadoc
"
,
"
-doclet
"
,
"
jdiff.JDiff
"
,
"
-docletpath
"
,
"
jdiff
.jar
"
,
"
-docletpath
"
,
jdiff
,
"
-d
"
,
docs
,
"
-oldapi
"
,
oldapi
,
"
-newapi
"
,
newapi
,
...
...
@@ -162,14 +189,15 @@ def gen_xml(path, modules, name):
src
=
os
.
path
.
join
(
path
,
module
.
name
,
"
test
"
,
"
qa-functional
"
,
"
src
"
)
else
:
src
=
os
.
path
.
join
(
path
,
module
.
name
,
"
src
"
)
xerces
=
os
.
path
.
abspath
(
"
./lib/xerces.jar
"
)
xml_out
=
fix_path
(
os
.
path
.
abspath
(
"
./xml/
"
+
name
+
"
-
"
+
module
.
name
))
make_dir
(
"
xml
"
)
make_dir
(
"
logs
"
)
log
=
open
(
"
logs/GEN_XML-
"
+
name
+
"
-
"
+
module
.
name
+
"
.log
"
,
"
w
"
)
# xerces = os.path.abspath("./lib/xerces.jar")
xml_out
=
fix_path
(
os
.
path
.
abspath
(
"
./jdiff-xml/
"
+
name
+
"
-
"
+
module
.
name
))
jdiff
=
fix_path
(
os
.
path
.
abspath
(
"
./thirdparty/jdiff/v-custom/jdiff.jar
"
))
make_dir
(
"
jdiff-xml
"
)
make_dir
(
"
jdiff-logs
"
)
log
=
open
(
"
jdiff-logs/GEN_XML-
"
+
name
+
"
-
"
+
module
.
name
+
"
.log
"
,
"
w
"
)
cmd
=
[
"
javadoc
"
,
"
-doclet
"
,
"
jdiff.JDiff
"
,
"
-docletpath
"
,
"
jdiff
.jar
"
,
# ;" + xerces, <-- previous problems required this
"
-docletpath
"
,
jdiff
,
# ;" + xerces, <-- previous problems required this
"
-apiname
"
,
xml_out
,
# leaving it in just in case it's needed once again
"
-sourcepath
"
,
fix_path
(
src
)]
cmd
=
cmd
+
get_packages
(
src
)
...
...
@@ -536,49 +564,59 @@ def replace(file, pattern, subst):
# Given a list of modules print the version numbers that need changing
def
print_version_updates
(
modules
):
f
=
open
(
"
gen_version.txt
"
,
"
a
"
)
for
module
in
modules
:
versions
=
module
.
versions
if
module
.
ret
==
101
:
print
(
module
.
name
+
"
:
"
)
print
(
"
Current Specification version:
\t
"
+
str
(
versions
[
0
]))
print
(
"
Updated Specification version:
\t
"
+
str
(
versions
[
0
].
increment
()))
print
(
""
)
print
(
"
Current Implementation version:
\t
"
+
str
(
versions
[
1
]))
print
(
"
Updated Implementation version:
\t
"
+
str
(
versions
[
1
]
+
1
))
print
(
""
)
output
=
(
module
.
name
+
"
:
\n
"
)
output
+=
(
"
Current Specification version:
\t
"
+
str
(
versions
[
0
])
+
"
\n
"
)
output
+=
(
"
Updated Specification version:
\t
"
+
str
(
versions
[
0
].
increment
())
+
"
\n
"
)
output
+=
(
"
\n
"
)
output
+=
(
"
Current Implementation version:
\t
"
+
str
(
versions
[
1
])
+
"
\n
"
)
output
+=
(
"
Updated Implementation version:
\t
"
+
str
(
versions
[
1
]
+
1
)
+
"
\n
"
)
output
+=
(
"
\n
"
)
print
(
output
)
f
.
write
(
output
)
elif
module
.
ret
==
102
:
print
(
module
.
name
+
"
:
"
)
print
(
"
Current Specification version:
\t
"
+
str
(
versions
[
0
]))
print
(
"
Updated Specification version:
\t
"
+
str
(
versions
[
0
].
overflow
()))
print
(
""
)
print
(
"
Current Implementation version:
\t
"
+
str
(
versions
[
1
]))
print
(
"
Updated Implementation version:
\t
"
+
str
(
versions
[
1
]
+
1
))
print
(
""
)
print
(
"
Current Release version:
\t\t
"
+
str
(
versions
[
2
]))
print
(
"
Updated Release version:
\t\t
"
+
str
(
versions
[
2
]
+
1
))
print
(
""
)
elif
module
.
ret
==
1
:
print
(
module
.
name
+
"
:
"
)
print
(
"
*Unable to detect necessary changes
"
)
print
(
"
Current Specification version:
\t
"
+
str
(
versions
[
0
]))
print
(
"
Current Implementation version:
\t
"
+
str
(
versions
[
1
]))
print
(
"
Current Release version:
\t\t
"
+
str
(
versions
[
2
]))
print
(
""
)
output
=
(
module
.
name
+
"
:
\n
"
)
output
+=
(
"
Current Specification version:
\t
"
+
str
(
versions
[
0
])
+
"
\n
"
)
output
+=
(
"
Updated Specification version:
\t
"
+
str
(
versions
[
0
].
overflow
())
+
"
\n
"
)
output
+=
(
"
\n
"
)
output
+=
(
"
Current Implementation version:
\t
"
+
str
(
versions
[
1
])
+
"
\n
"
)
output
+=
(
"
Updated Implementation version:
\t
"
+
str
(
versions
[
1
]
+
1
)
+
"
\n
"
)
output
+=
(
"
\n
"
)
output
+=
(
"
Current Release version:
\t\t
"
+
str
(
versions
[
2
])
+
"
\n
"
)
output
+=
(
"
Updated Release version:
\t\t
"
+
str
(
versions
[
2
]
+
1
)
+
"
\n
"
)
output
+=
(
"
\n
"
)
print
(
output
)
f
.
write
(
output
)
elif
module
.
ret
==
1
:
output
=
(
module
.
name
+
"
:
\n
"
)
output
+=
(
"
*Unable to detect necessary changes
\n
"
)
output
+=
(
"
Current Specification version:
\t
"
+
str
(
versions
[
0
])
+
"
\n
"
)
output
+=
(
"
Current Implementation version:
\t
"
+
str
(
versions
[
1
])
+
"
\n
"
)
output
+=
(
"
Current Release version:
\t\t
"
+
str
(
versions
[
2
])
+
"
\n
"
)
output
+=
(
"
\n
"
)
print
(
output
)
f
.
write
(
output
)
elif
module
.
ret
is
None
:
print
(
"
Added
"
+
module
.
name
+
"
:
"
)
output
=
(
"
Added
"
+
module
.
name
+
"
:
\n
"
)
if
module
.
spec
()
!=
"
1.0
"
and
module
.
spec
()
!=
"
0.0
"
:
print
(
"
Current Specification version:
\t
"
+
str
(
module
.
spec
()))
print
(
"
Updated Specification version:
\t
1.0
"
)
print
(
"
"
)
output
+=
(
"
Current Specification version:
\t
"
+
str
(
module
.
spec
())
+
"
\n
"
)
output
+=
(
"
Updated Specification version:
\t
1.0
\n
"
)
output
+=
(
"
\n
"
)
if
module
.
impl
()
!=
1
:
print
(
"
Current Implementation version:
\t
"
+
str
(
module
.
impl
()))
print
(
"
Updated Implementation version:
\t
1
"
)
print
(
"
"
)
output
+=
(
"
Current Implementation version:
\t
"
+
str
(
module
.
impl
())
+
"
\n
"
)
output
+=
(
"
Updated Implementation version:
\t
1
\n
"
)
output
+=
(
"
\n
"
)
if
module
.
release
()
!=
1
and
module
.
release
()
!=
0
:
print
(
"
Current Release version:
\t\t
"
+
str
(
module
.
release
()))
print
(
"
Updated Release version:
\t\t
1
"
)
print
(
""
)
output
+=
(
"
Current Release version:
\t\t
"
+
str
(
module
.
release
())
+
"
\n
"
)
output
+=
(
"
Updated Release version:
\t\t
1
\n
"
)
output
+=
(
"
\n
"
)
print
(
output
)
f
.
write
(
output
)
sys
.
stdout
.
flush
()
f
.
close
()
# Changes cygwin paths to Windows
def
fix_path
(
path
):
...
...
@@ -642,7 +680,7 @@ def del_dir(dir):
def
do_git
(
tag
,
tag_dir
):
try
:
printt
(
"
Cloning Autopsy (this could take a while)...
"
)
subprocess
.
call
([
"
git
"
,
"
clone
"
,
"
https://github.com/sleuthkit/autopsy.git
"
],
subprocess
.
call
([
"
git
"
,
"
clone
"
,
"
https://github.com/sleuthkit/autopsy.git
"
,
tag_dir
],
stdout
=
subprocess
.
PIPE
)
printt
(
"
Checking out tag
"
+
tag
+
"
...
"
)
subprocess
.
call
([
"
git
"
,
"
checkout
"
,
tag
],
...
...
@@ -687,13 +725,13 @@ def printinfo():
global
dry
printt
(
"
Release script information:
"
)
if
source
is
None
:
source
=
fix_path
(
os
.
path
.
abspath
(
'
../../..
'
))
source
=
fix_path
(
os
.
path
.
abspath
(
"
.
"
))
print
(
"
Using source directory:
\n
"
+
source
)
if
tag
is
None
:
tag
=
get_tag
(
source
)
print
(
"
Checking out to tag:
\n
"
+
tag
)
if
docdir
is
None
:
docdir
=
fix_path
(
os
.
path
.
abspath
(
"
./javadocs
"
))
docdir
=
fix_path
(
os
.
path
.
abspath
(
"
./
jdiff-
javadocs
"
))
print
(
"
Generating jdiff JavaDocs in:
\n
"
+
docdir
)
if
dry
is
True
:
print
(
"
Dry run: will not auto-update version numbers
"
)
...
...
@@ -717,7 +755,9 @@ def usage():
-d --dir The output directory for the jdiff JavaDocs. If no
directory is given, the default is /javadocs/{module}.
-a --auto Automatically update version numbers (not dry).
-s --source The directory containing Autopsy
'
s source code.
-a --auto Automatically update version numbers (not dry).
-h --help Prints this usage.
"""
...
...
@@ -734,7 +774,7 @@ def main():
ret
=
args
()
if
ret
:
print
(
usage
())
return
return
0
printinfo
()
# -----------------------------------------------
...
...
@@ -742,10 +782,10 @@ def main():
# 2) Get the modules in the clone and the source
# 3) Generate the xml comparison
# -----------------------------------------------
del_dir
(
"
autopsy
"
)
tag_dir
=
os
.
path
.
abspath
(
"
./autopsy
"
)
del_dir
(
"
autopsy
-update_versions
"
)
tag_dir
=
os
.
path
.
abspath
(
"
./autopsy
-update_versions
"
)
if
not
do_git
(
tag
,
tag_dir
):
return
return
1
sys
.
stdout
.
flush
()
tag_modules
=
find_modules
(
tag_dir
)
...
...
@@ -806,12 +846,12 @@ def main():
update_dependencies
(
the_modules
,
source
)
printt
(
"
Deleting jdiff XML...
"
)
xml_dir
=
os
.
path
.
abspath
(
"
./xml
"
)
xml_dir
=
os
.
path
.
abspath
(
"
./
jdiff-
xml
"
)
print
(
"
XML successfully deleted
"
if
del_dir
(
xml_dir
)
else
"
Failed to delete XML
"
)
print
(
"
\n
--- Script completed successfully ---
"
)
return
1
return
0
# Start off the script
if
__name__
==
"
__main__
"
:
main
()
\ No newline at end of file
sys
.
exit
(
main
())
\ No newline at end of file
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment