Skip to content

Add TWMS (Three-Way Merge Sort) #17

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 127 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
127 commits
Select commit Hold shift + click to select a range
ea0f14b
Revamped Array Visualizer - More features, more streamlined, more use…
MusicTheorist Jun 2, 2019
9b85b33
Upload .jar
MusicTheorist Jun 2, 2019
2ef3314
Update README.md
MusicTheorist Jun 2, 2019
a44967c
Removed extra files
MusicTheorist Jun 2, 2019
8b77be0
Merge branch 'master' of https://github.com/MusicTheorist/ArrayVisual…
MusicTheorist Jun 2, 2019
c006bd3
Update README.md
MusicTheorist Jun 2, 2019
632e443
Update README.md
MusicTheorist Jun 2, 2019
4794f5a
Update GrailSort.java
MusicTheorist Jun 2, 2019
0a2ba6b
Update GrailSort.java
MusicTheorist Jun 2, 2019
6c78f58
Update README.md
MusicTheorist Jun 2, 2019
7a33fbb
Quick Sort fixed, imports cleaned
MusicTheorist Jun 3, 2019
2c177af
Merge branch 'master' of https://github.com/MusicTheorist/ArrayVisual…
MusicTheorist Jun 3, 2019
c9082a3
Bugs fixed
MusicTheorist Jun 3, 2019
ee44407
Update README.md
MusicTheorist Jun 3, 2019
f52bc10
Added visuals, optimizations, and bug fixes.
MusicTheorist Jun 6, 2019
dcaa4e2
Merge branch 'master' of https://github.com/MusicTheorist/ArrayVisual…
MusicTheorist Jun 6, 2019
82a0744
Update README.md
MusicTheorist Jun 6, 2019
2a3de23
Delete ArrayController.java
MusicTheorist Jun 6, 2019
89f056f
Delete different branch directories
MusicTheorist Jun 6, 2019
b6d4830
Merge branch 'master' of https://github.com/MusicTheorist/ArrayVisual…
MusicTheorist Jun 6, 2019
e84d32a
Indentations and imports.
MusicTheorist Jun 6, 2019
a3eb762
Update README.md
MusicTheorist Jun 6, 2019
e85f074
Array size slider
MusicTheorist Jun 8, 2019
e2995b8
Merge branch 'master' of https://github.com/MusicTheorist/ArrayVisual…
MusicTheorist Jun 8, 2019
522bcf2
Bug fixes
MusicTheorist Jun 8, 2019
62c47fa
Circular pointer bug fix
MusicTheorist Jun 9, 2019
f02484a
More bug fixes
MusicTheorist Jun 9, 2019
6b44dd0
Even more bug fixes
MusicTheorist Jun 10, 2019
ca34f5f
Reimplemented grailShift
MusicTheorist Jun 10, 2019
930783f
Volume in Run All fix
MusicTheorist Jun 10, 2019
7a30ac3
Pigeonhole Sort fix
MusicTheorist Jun 10, 2019
7a6f2aa
More bug fixes
MusicTheorist Jun 10, 2019
7f686e6
Shatter Sort patched
MusicTheorist Jun 10, 2019
feb98dc
Removed grailShift
MusicTheorist Jun 15, 2019
d88952a
Out of range error fixed
GeorgiiFirsov Jul 13, 2019
ff46cc3
Merge pull request #1 from GeorgyFirsov/patch-1
MusicTheorist Jul 13, 2019
623f9db
Delete manifest.mf
MusicTheorist Jul 29, 2019
49e761d
version 2.0
MusicTheorist Oct 13, 2019
cb714c2
resolving merge conflict
MusicTheorist Oct 13, 2019
77d0fff
version 2.0
MusicTheorist Oct 13, 2019
ad749f5
resetting repository
MusicTheorist Oct 13, 2019
e16114d
version 2.0
MusicTheorist Oct 13, 2019
1696c14
Update README.md
MusicTheorist Oct 13, 2019
c9de9b8
Update README.md
MusicTheorist Oct 13, 2019
4a36d68
Update README.md
MusicTheorist Oct 13, 2019
0bb4565
Update README.md
MusicTheorist Oct 13, 2019
70b0b3b
Update README.md
MusicTheorist Oct 13, 2019
a386d20
Update README.md
MusicTheorist Oct 13, 2019
d09fa1d
Update README.md
MusicTheorist Oct 13, 2019
ad8261f
Update README.md
MusicTheorist Oct 13, 2019
7ef3da4
Update README.md
MusicTheorist Oct 13, 2019
62e9759
Update README.md
MusicTheorist Oct 13, 2019
83c7e7e
Update README.md
MusicTheorist Oct 13, 2019
5646e5a
Update README.md
MusicTheorist Oct 13, 2019
d95ba5d
Update README.md
MusicTheorist Oct 13, 2019
3703b60
Update README.md
MusicTheorist Oct 13, 2019
7c3f535
Update README.md
MusicTheorist Oct 13, 2019
dce6447
ant build script; dist/jar without errors; new path for classgraph
MusicTheorist Oct 13, 2019
421032c
Merge branch 'master' of https://github.com/MusicTheorist/ArrayVisual…
MusicTheorist Oct 13, 2019
afe9a94
Update README.md
MusicTheorist Oct 13, 2019
37fdd02
Update README.md
MusicTheorist Oct 13, 2019
1c0285f
Update README.md
MusicTheorist Oct 13, 2019
d3f6c7a
updated classpath
MusicTheorist Oct 13, 2019
f2697a6
Merge branch 'master' of https://github.com/MusicTheorist/ArrayVisual…
MusicTheorist Oct 13, 2019
d6bcdeb
remove old classgraph dir
MusicTheorist Oct 13, 2019
b13a54b
replacing new lines
MusicTheorist Oct 13, 2019
bb5dd78
Update README.md
MusicTheorist Oct 13, 2019
d2f3ccb
Update README.md
MusicTheorist Oct 13, 2019
c121877
updated runnable .jar
MusicTheorist Oct 14, 2019
8a6beda
Merge branch 'master' of https://github.com/MusicTheorist/ArrayVisual…
MusicTheorist Oct 14, 2019
7057f1e
second attempt fixing build script & runnable .jar
MusicTheorist Oct 14, 2019
6530f4b
fix readme
MusicTheorist Oct 14, 2019
81a64f4
fix readme
MusicTheorist Oct 14, 2019
8a5eed3
new sorts and minor bug fixes
MusicTheorist Oct 19, 2019
552710f
Revert README
MusicTheorist Oct 19, 2019
fd885b3
Fix license
MusicTheorist Oct 19, 2019
e5ee5e4
Update README.md
MusicTheorist Oct 19, 2019
86207bc
Update README.md
MusicTheorist Oct 19, 2019
62bedeb
Update README.md
MusicTheorist Oct 19, 2019
d110ce8
Update README.md
MusicTheorist Oct 19, 2019
427b5fb
Corrected spelling of auxiliary
Felthry Apr 30, 2020
81ac7db
version 3.0
MusicTheorist May 22, 2020
1465ce6
Merge pull request #5 from Felthry/master
MusicTheorist May 22, 2020
5aa2169
Update README.md
MusicTheorist May 22, 2020
c1286a3
Update README.md
MusicTheorist May 22, 2020
7e5a7d0
Update README.md
MusicTheorist May 22, 2020
808f7fb
better changelog
MusicTheorist May 22, 2020
13ca1d8
better changelog
MusicTheorist May 22, 2020
718492f
minor change to .classpath
MusicTheorist May 22, 2020
43143d4
version 3.01
MusicTheorist May 22, 2020
800d659
version 3.1
MusicTheorist May 30, 2020
738a3df
version 3.1 readme
MusicTheorist May 30, 2020
990c7cf
add flipped min heap sort
landfillbaby May 23, 2020
1df1839
Merge pull request #6 from landfillbaby/master
MusicTheorist May 30, 2020
f04b130
finishing touches on version 3.1
MusicTheorist May 30, 2020
c9183ea
Update README.md
MusicTheorist May 30, 2020
e6d22a5
webhook test
MusicTheorist May 30, 2020
32695de
Merge branch 'master' of https://github.com/MusicTheorist/ArrayVisual…
MusicTheorist May 30, 2020
c7c2d88
version 3.11
MusicTheorist Jun 3, 2020
7ddcd43
changelog and remove unused import
MusicTheorist Jun 3, 2020
9680ca2
version 3.12
MusicTheorist Jun 4, 2020
466a1a7
v3.12 changelog
MusicTheorist Jun 4, 2020
6c7001f
version 3.2
MusicTheorist Jun 5, 2020
f668896
v3.12 changelog
MusicTheorist Jun 5, 2020
a6bfebd
port of @ceorron's Zip Sort
landfillbaby Jun 4, 2020
ce3d815
Merge pull request #7 from landfillbaby/master
MusicTheorist Jun 5, 2020
5c0c200
EXPERIMENTAL: Zipsorts
MusicTheorist Jun 5, 2020
c968a59
remove zipsorts
MusicTheorist Jun 5, 2020
f897d97
fix bogosorting
MusicTheorist Jun 5, 2020
cf1a04d
add /bin/ to .gitignore to comply with `ant clean` (#9)
landfillbaby Jun 8, 2020
3ddff65
Rename Java.xml to build.xml
MusicTheorist Jun 8, 2020
ca71239
Update README.md
MusicTheorist Jun 8, 2020
7a70b06
version 3.5
MusicTheorist Jun 8, 2020
a0ccf10
version 3.5 changelog
MusicTheorist Jun 8, 2020
df95d0b
Update README.md
MusicTheorist Jun 8, 2020
e88e8c0
Text Drop Shadow
aphitorite Jun 12, 2020
5ebb2b4
Merge pull request #49 from aphitorite/611-2
MusicTheorist Jun 12, 2020
74af3a6
Refactor Tree Sort
aphitorite Jun 15, 2020
3631533
Merge pull request #70 from aphitorite/614
MusicTheorist Jun 20, 2020
af0fde1
don't bother with classgraph's javadoc and sources
landfillbaby Jun 8, 2020
91f0b09
Fix
aphitorite Jun 21, 2020
2ec1666
don't compile *_disabled.java, disable SkaSort
landfillbaby Aug 11, 2020
7e91488
fix build for real this time
landfillbaby Aug 11, 2020
a87fba6
Merge pull request #76 from aphitorite/621
MusicTheorist Aug 24, 2020
feb3e74
Fix MergeSorting
aphitorite Aug 26, 2020
8c32d2d
add discord link
MusicTheorist Dec 24, 2020
ff9d8ea
Update README.md
MusicTheorist May 22, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .classpath
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="lib" path="lib/classgraph-4.8.47.jar"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="output" path="bin"/>
</classpath>
3 changes: 1 addition & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
*.jar
*.class

/bin/
22 changes: 22 additions & 0 deletions .project
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>ArrayVisualizer-master</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.zeroturnaround.eclipse.rebelXmlBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>
13 changes: 13 additions & 0 deletions .settings/org.eclipse.jdt.core.prefs
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.release=disabled
org.eclipse.jdt.core.compiler.source=1.8
2 changes: 2 additions & 0 deletions .settings/org.eclipse.jdt.ui.prefs
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
eclipse.preferences.version=1
org.eclipse.jdt.ui.text.custom_code_templates=
1 change: 1 addition & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
MIT License

Copyright (c) 2019 w0rthy
Copyright (c) 2020 MusicTheorist

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
192 changes: 169 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,34 +1,180 @@
# ArrayVisualizer
Sorting Visualizer/Audiolizer
# w0rthy's Array Visualizer, Revamped
[![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=Q5QLCFZ8G7WY6&currency_code=USD&source=url)

## Videos
[Vertical Pyramid](https://www.youtube.com/watch?v=QOYcpGnHH0g)
**DEPRECATED** - Visit the new home of ArrayV over here where I'll be contributing from time to time! https://github.com/Gaming32/ArrayV-v4.0
I'll be working on a brand new algorithm visualizer of my own over the next few months, so stay tuned... Visit our community Discord for updates!!

[Dynamic Hoops](https://www.youtube.com/watch?v=S0RtR2Yllzk)
Over 75 sorting algorithms animated with 12 unique graphic designs

[TriMesh](https://www.youtube.com/watch?v=Zc__8qaLfJk)
Follow the project's development behind-the-scenes in our Discord: https://discord.com/invite/2xGkKC2

[Horizontal Pyramid](https://www.youtube.com/watch?v=vmT3XUBoxiQ)
This new version of the program features additions inspired by Timo Bingmann's "The Sound of Sorting" and w0rthy's updates to the original visualizer.

[Static Hoops](https://www.youtube.com/watch?v=jXs1y3tCKQg)
To compile (After -cp, use ";" with Windows and ":" with Mac/Linux):
```
ant
java -cp bin;lib/classgraph-4.8.47.jar main.ArrayVisualizer
```
To build a runnable jar, simply run Apache Ant inside the 'dist' directory!

[Christmas Tree](https://www.youtube.com/watch?v=xY1tiHzo8mE)
### Features:
- 40+ new sorting algorithms
- Updated visuals and sound effects
- You can select different array sizes now
- New shuffle types, including reversed, mostly similar numbers, almost sorted, and already sorted
- Skip Sort button
- Softer sounds toggle
- A real time in milliseconds estimate
- Toggle shuffle animation
- Toggle Timo Bingmann's "end sweep" animation
- Refactored / optimized code

[Variable Width TriMesh](https://www.youtube.com/watch?v=0tr6AtLu4pg)
## 6/8/2020 - Version 3.5
- NEW VISUALS: Sine Wave and Wave Dots!!
- New sort: Bogobogosort
- The bogo shuffle method is now unbiased
- MultipleSortThreads further refactored
- Visuals, VisualStyles enum, and Renderer significantly refactored (more to come!)

[Color Circle](https://www.youtube.com/watch?v=sVYtGyPiGik)
## 6/4/2020 - Version 3.2
- New sort: Optimized Cocktail Shaker Sort
- Significant refactoring for MultipleSortThreads and RunAllSorts
- "Run All" button approx. time simplified
- Modified delays for Binary Gnomesort
- Documentation of GCC's median-of-three pivot selection in Introsort

# How to use
## 6/3/2020 - Version 3.12
- Counting Sort fixed
- Optimized Bubblesort now optimized for already sorted inputs
- Speeds for Quicksorts and Weave Merge during "Run All Sorts" improved

### Build
```
mkdir -p dist target
javac src/array/visualizer/ArrayVisualizer.java -sourcepath src -d target/
jar -cvfm dist/ArrayVisualizer.jar manifest.mf -C target/ ./
```
## 6/2/2020 - Version 3.11
- Minor update to MIT license
- Fixed typo in Flipped Min Heapsort
- Improved highlights on Heapsorts (Already sorted heaps now display redundant comparisons)
- Bug fix for Patiencesort on reversed arrays
- Quicksorts exhibiting worst-case behavior during "Run All Sorts" run much faster
- Same tweak as above to Weave Merge Sort

### Run
```
java -jar dist/ArrayVisualizer.jar
```
=======
## 5/30/2020 - Version 3.1
- Error messages with detailed information will now appear within the program!
- Sound effects are now consistent on all platforms
- New sort: "Flipped Min Heap Sort" by 'landfillbaby'!
- Minor changes to code organization
- New webhook to my Discord server! Check it out here: https://discord.com/invite/2xGkKC2

## 5/22/2020 - Version 3.01
- Quick bug fix to the "Linked Dots" visual;
The first line is no longer horizontal.

## 5/21/2020 - Version 3.0 is now released!
- Sound effects are much more pleasant at slower speeds
- Revamped "Run All Sorts" (It is now easier to create your own sequence of sorts!)
- More accurate delay algorithm
- Improved random shuffle algorithm (now with 0% bias!)
- Cleaner statistics
- Sort an array up to 16,384 (2^14) numbers!
- The "green sweep" animation also verifies an array is properly sorted after watching a sort.
If a sort fails, a warning message pops up, highlighting where the first out-of-order item is.
- Minor tweak to the sort time method. It should be a slight bit more accurate now.
- Slowsort and Sillysort's comparisons are now shown.
- Gravity Sort has a more detailed visual now
- Pancake Sorting is fixed
- Counting Sort is fixed
- Holy Grail Sort is enabled, but just note that it's a mock algorithm; not finished yet.
- "Auxillary" typo fixed; program now says 'Writes to Auxiliary Array(s)'
- Bug fixes and minor tweaks
- Minor fixes to "Skip Sort" button
- Weird static line bug with linked dots squashed
- Other miscellaneous fixes and changes here and there

## 10/19/2019 - Version 2.1
- Both Odd-Even Mergesorts now display comparisons
- PDQSort's Insertion Sorts have been slowed down
- New sorts, courtesy of Piotr Grochowski (https://github.com/PiotrGrochowski/ArrayVisualizer):
- Iterative Pairwise Sorting Network
- Recursive Pairwise Sorting Network
- Recursive Combsort

## 10/13/2019 - Version 2.0 is now released!
- Now includes 73 sorting algorithms, with 2 more that will be finished in the future
- NEW SORTS:
- Unoptimized Bubble Sort
- Rotation-based In-Place Merge Sort
- "Lazy Stable Sort" from Andrey Astrelin's GrailSort
- Grail sorting with a static buffer
- Grail sorting with a dynamic buffer
- Andrey Astrelin's "SqrtSort"
- CircleSort
- Introspective CircleSort
- Orson Peters' "Pattern-Defeating Quicksort" (PDQSort)
- Branchless PDQSort
- Morween's implementation of "Poplar Heapsort"
- Recursive Binary Quicksort
- Iterative Binary Quicksort
- Iterative Bitonic Sort
- Iterative Odd-Even Mergesort
- "Bubble Bogosort"
- "Exchange Bogosort"
- Treesort
- Optimized Gnomesort with Binary Search
- "Cocktail Mergesort" (https://www.youtube.com/watch?v=fWubJgIWyxQ)
- NOTE: "Quick Shell Sort" has been removed.
- Significantly refactored code, more object-oriented
- Optimized visuals -- the program runs smoother than ever!
- Plug-and-play functionality -- using classgraph, you can now easily add your own sorting algorithms to the program! Documentation on that will be available in the future.
- Sort delay system redesigned -- you can now change the speed of the program in the middle of a delayed compare or swap
- Speed dialogue is now disabled while other windows are open
- WikiSort no longer gets stuck on sorting its internal buffer
- Tweaks to TimSort, mostly reimplementing its binary insertion sort
- Binary Insertion Sort is now stable
- The write/swap counts for inputs already sorted are fixed
- The main/auxillary array write counts for Bottom-up Merge are fixed
- Shuffling the array now clears the statistics
- The highest pitches of the program's sound effects are fixed
- Speeds for the "green sweep" and shuffling animations have been tweaked
- Shatter Sort's highlights slightly tweaked
- GrailSort's highlights slightly tweaked

**KNOWN BUGS:**
- Certain sorts (comb sort, radix sorts) cause the program to forget the current speed
- Certain sorts do not work with the "Skip Sort" button
- Missing soundfont
- SkaSort and HolyGrailSort produce errors -- this is normal, they aren't finished yet
- No circular pointer -- will be fixed soon

**PLANS FOR FUTURE RELEASES:**
- Javadocs!!
- SkaSort
- "Holy Grail Sort"
- Options to:
- Enter in your own set of numbers
- Select CombSort gap sequence
- Select ShellSort gap sequence
- Change TimSort "minrun" value
- Change IntroSort threshold for insertion/heap sort
- Change Simple Shatter Sort rate(?)
- Stop Run All Sorts(?)
- Stop TimeSort(?)
- Pre-shuffled arrays
- Organize list of sorts into more categories
- Run All Sorts in specific category
- Subheadings for customizable sorts (e.g. display the number of buckets during a bucket sort)
- "Many Similar" distribution ((i/5) * 5, as an example)
- "Pipe organ" distribution (half ascending, half descending)
- Fixed circular pointer with much cleaner math
- Toogle between pointer and black bar with circular visuals
- Refactor/reorganize prompts and frames
- Cleaner:
- Tree Sort
- getters/setters
- method parameters
- Small organizational changes

**If you are experiencing performance issues in Windows 10, look here: https://superuser.com/questions/988379/how-do-i-run-java-apps-upscaled-on-a-high-dpi-display**

An executable .jar file is available in the dist folder. Have fun!

Videos this program is featured in:

https://www.youtube.com/playlist?list=PL5w_-zMAJC8tSgmfaltMMj7Kn390eRzMq
75 changes: 75 additions & 0 deletions build.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- WARNING: Eclipse auto-generated file.
Any modifications will be overwritten.
To include a user specific buildfile here, simply create one in the same
directory with the processing instruction <?eclipse.ant.import?>
as the first entry and export the buildfile again. --><project basedir="." default="build" name="ArrayVisualizer-master">
<property environment="env"/>
<property name="debuglevel" value="source,lines,vars"/>
<property name="target" value="1.8"/>
<property name="source" value="1.8"/>
<path id="ArrayVisualizer-master.classpath">
<pathelement location="bin"/>
<pathelement location="lib/classgraph-4.8.47.jar"/>
</path>
<path id="run.ArrayVisualizer.classpath">
<path refid="ArrayVisualizer-master.classpath"/>
<pathelement location="lib/classgraph-4.8.47.jar"/>
</path>
<path id="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER.libraryclasspath"/>
<path id="run.Main.classpath">
<path refid="ArrayVisualizer-master.classpath"/>
<path refid="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER.libraryclasspath"/>
</path>
<path id="run.Tester (2).classpath">
<path refid="ArrayVisualizer-master.classpath"/>
<path refid="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER.libraryclasspath"/>
</path>
<path id="run.Tester.classpath">
<path refid="ArrayVisualizer-master.classpath"/>
<path refid="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER.libraryclasspath"/>
</path>
<target name="init">
<mkdir dir="bin"/>
<copy includeemptydirs="false" todir="bin">
<fileset dir="src">
<exclude name="**/*.java"/>
</fileset>
</copy>
</target>
<target name="clean">
<delete dir="bin"/>
</target>
<target depends="clean" name="cleanall"/>
<target depends="build-subprojects,build-project" name="build"/>
<target name="build-subprojects"/>
<target depends="init" name="build-project">
<echo message="${ant.project.name}: ${ant.file}"/>
<javac debug="true" debuglevel="${debuglevel}" destdir="bin" includeantruntime="false" source="${source}" target="${target}">
<src path="src"/>
<exclude name="**/*_disabled.java"/>
<classpath refid="ArrayVisualizer-master.classpath"/>
</javac>
</target>
<target description="Build all projects which reference this project. Useful to propagate changes." name="build-refprojects"/>
<target name="ArrayVisualizer">
<java classname="main.ArrayVisualizer" failonerror="true" fork="yes">
<classpath refid="run.ArrayVisualizer.classpath"/>
</java>
</target>
<target name="Main">
<java classname="main.Main" failonerror="true" fork="yes">
<classpath refid="run.Main.classpath"/>
</java>
</target>
<target name="Tester (2)">
<java classname="test.Tester" failonerror="true" fork="yes">
<classpath refid="run.Tester (2).classpath"/>
</java>
</target>
<target name="Tester">
<java classname="javagrailsort.Tester" failonerror="true" fork="yes">
<classpath refid="run.Tester.classpath"/>
</java>
</target>
</project>
Binary file added dist/arrayVisualizer.jar
Binary file not shown.
23 changes: 23 additions & 0 deletions dist/build.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project default="create_run_jar" name="Create Runnable Jar for Project ArrayVisualizer-master with Jar-in-Jar Loader">
<!--this file was created by Eclipse Runnable JAR file Export Wizard-->
<!--ANT 1.7 is required-->
<!--define folder properties-->
<property name="dir.buildfile" value="."/>
<property name="dir.workspace" value="${dir.buildfile}/../.."/>
<property name="dir.jarfile" value="${dir.buildfile}"/>
<target name="create_run_jar">
<jar destfile="${dir.jarfile}/arrayVisualizer.jar">
<manifest>
<attribute name="Main-Class" value="org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader"/>
<attribute name="Rsrc-Main-Class" value="main.ArrayVisualizer"/>
<attribute name="Class-Path" value="."/>
<attribute name="Rsrc-Class-Path" value="./ classgraph-4.8.47.jar"/>
</manifest>
<zipfileset src="jar-in-jar-loader.zip"/>
<fileset dir="${dir.workspace}/ArrayVisualizer-master/bin"/>
<fileset dir="${dir.workspace}/ArrayVisualizer-master/src" includes="soundfont/sfx.sf2,*.form"/>
<zipfileset dir="${dir.workspace}/ArrayVisualizer-master/lib" includes="classgraph-4.8.47.jar"/>
</jar>
</target>
</project>
Binary file added dist/jar-in-jar-loader.zip
Binary file not shown.
Binary file added lib/classgraph-4.8.47.jar
Binary file not shown.
3 changes: 0 additions & 3 deletions manifest.mf

This file was deleted.

Loading