Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 90 lines (54 sloc) 3.643 kb
d59b9d3 Added README file
Iulian Dragos authored
1 Migration Manager for Scala
2 ==============
3
4 A tool for diagnosing and fixing migration problems for Scala libraries.
19d93fa merged tag v0.1.0 back into master
Mirco authored
5 =======
9871813 updated README
Mirco authored
6 The Migration Manager for Scala (MiMa in short) is a tool for diagnosing and fixing binary incompatibilities for Scala libraries.
7
8 MiMa's Modules
9 -------
10
967959f typo correction
Mirco authored
11 MiMa is split into three modules:
9871813 updated README
Mirco authored
12
13 - Core: Classes that are used by both the Reporter and Migrator modules.
9dca535 Cleaned SBT Build file. Moved resources
Mirco authored
14 - Reporter: Used to diagnose binary incompatibilities between two different versions of a same library. (Formerly MiMa Lib)
15 - Migrator: Used to fix binary incompatibilities of a client jar. (Formerly MiMa Client)
9871813 updated README
Mirco authored
16
17 Eclipse
18 -------
19
250f358 @dotta Updated README with sbteclipse information.
dotta authored
20 In order to create Eclipse metadata files (i.e., .classpath and .project) we recomend to use [sbteclipse][sbteclipse]. Once done, to set up the three modules in Eclipse just click on `File > Import > General > Exisiting Projects Into Workspace`, and select the MiMa project's root folder, the three modules should be correctly loaded.
9871813 updated README
Mirco authored
21
22 In the `reporter` and `migrator` folders you can also find a `*.launch` file configuration, which can be imported in Eclipse and can be used to start the programs.
23
d59b9d3 Added README file
Iulian Dragos authored
24
250f358 @dotta Updated README with sbteclipse information.
dotta authored
25 [sbteclipse]: https://github.com/typesafehub/sbteclipse/
26
d59b9d3 Added README file
Iulian Dragos authored
27 Build
28 -------
29
f24137b Updated README.md. Created new functional-tests. Updated sbt Build.scala...
Mirco authored
30 Using [the xsbt tool][xsbt].
b03f83b Added README file
Iulian Dragos authored
31
9871813 updated README
Mirco authored
32 $ xsbt clean update compile
b03f83b Added README file
Iulian Dragos authored
33
34
250f358 @dotta Updated README with sbteclipse information.
dotta authored
35 Make sure to use tag 0.10.0, installation notes can be found [here][xsbt].
f24137b Updated README.md. Created new functional-tests. Updated sbt Build.scala...
Mirco authored
36
250f358 @dotta Updated README with sbteclipse information.
dotta authored
37 [xsbt]: https://github.com/harrah/xsbt/tree/v0.10.0
f24137b Updated README.md. Created new functional-tests. Updated sbt Build.scala...
Mirco authored
38
9871813 updated README
Mirco authored
39 This will recompile all MiMa's modules.
35fb00b update README with Launch section
Mirco authored
40
9871813 updated README
Mirco authored
41
42 Launch MiMa Reporter
35fb00b update README with Launch section
Mirco authored
43 -------
9871813 updated README
Mirco authored
44 Type the following command to run the MiMa Reporter
35fb00b update README with Launch section
Mirco authored
45
603e3bb Made [info] Set current project to default (in build fil...
Mirco authored
46 $ xsbt reporter/run
d59b9d3 Added README file
Iulian Dragos authored
47
9871813 updated README
Mirco authored
48 Launch MiMa Migrator
49 -------
50 Type the following command to run the MiMa Reporter
c9981b7 updated README with FAQ section
Mirco authored
51
603e3bb Made [info] Set current project to default (in build fil...
Mirco authored
52 $ xsbt migrator/run
9871813 updated README
Mirco authored
53
54 MiMa Reporter: Functional Tests
f24137b Updated README.md. Created new functional-tests. Updated sbt Build.scala...
Mirco authored
55 -------
56
9871813 updated README
Mirco authored
57 The directory containing the MiMa Reporter module ('reporter') there is a 'functional-tests' folder that contains several functional tests exercising the system. All tests are executed as part of the build, therefore when running
f24137b Updated README.md. Created new functional-tests. Updated sbt Build.scala...
Mirco authored
58
59 $ xsbt package
60
9871813 updated README
Mirco authored
61 if one (or more) test fails the build is stop and no jar will not be produced.
f24137b Updated README.md. Created new functional-tests. Updated sbt Build.scala...
Mirco authored
62
05034d0 Updated Readme
Mirco authored
63 To add a new functional test to the suite, create a new folder within 'functional-tests' directory with the following structure:
f24137b Updated README.md. Created new functional-tests. Updated sbt Build.scala...
Mirco authored
64
65 functional-tests
66 |
05034d0 Updated Readme
Mirco authored
67 | --> <your-new-test-folder> (folder for your new test)
f24137b Updated README.md. Created new functional-tests. Updated sbt Build.scala...
Mirco authored
68 |
69 |-----> problems.txt (the expected list of reported errors - 1 line per error)
70 |-----> v1 (folder containing sources @ version 1)
71 |-----> v2 (folder containing sources @ version 2)
72
05034d0 Updated Readme
Mirco authored
73 After doing that, `reload` if you are in a `xsbt` console session (if that makes nosense to you, it means you are fine and you can run the test as usual).
f24137b Updated README.md. Created new functional-tests. Updated sbt Build.scala...
Mirco authored
74
250f358 @dotta Updated README with sbteclipse information.
dotta authored
75 Tests within the `functional-tests` folder should always pass.
05034d0 Updated Readme
Mirco authored
76
77 Note: The `problems.txt` is the test oracle. Expected errors are declared using the Mima's reporting output (i.e., the output of the tool and the expected errors should match perfectly). Admittedly, this coupling is an issue since the testing framework is highly coupled with the tool output used to report errors to the user. We should improve this and make the two independent. Until then, mind that by changing the output of the tool you will likely have to update some of the test oracles (i.e., problems.txt file).
f24137b Updated README.md. Created new functional-tests. Updated sbt Build.scala...
Mirco authored
78
c9981b7 updated README with FAQ section
Mirco authored
79 FAQ
80 -------
81
9dca535 Cleaned SBT Build file. Moved resources
Mirco authored
82 `java.lang.OutOfMemoryError - Java heap space:` If you are experiencing out of memory exception you may need to increase the VM arguments for the initial heap size and the maximum heap size. The default values are `-Xms64m` for for the initial heap size and `-Xmx256m` for the maximum heap size.
c9981b7 updated README with FAQ section
Mirco authored
83
f24137b Updated README.md. Created new functional-tests. Updated sbt Build.scala...
Mirco authored
84 Bugs and Feature requests
85 -------
d59b9d3 Added README file
Iulian Dragos authored
86
f24137b Updated README.md. Created new functional-tests. Updated sbt Build.scala...
Mirco authored
87 Use the [Assembla project page][mima-assembla] for filing new tickets.
d59b9d3 Added README file
Iulian Dragos authored
88
35fb00b update README with Launch section
Mirco authored
89 [mima-assembla]: https://www.assembla.com/spaces/mima/tickets
Something went wrong with that request. Please try again.