summaryrefslogtreecommitdiff
path: root/tools
Commit message (Collapse)AuthorAgeFilesLines
* Improvements to partest-ack, plus partest-paths.Paul Phillips2013-12-152-20/+36
| | | | | | | | | I noticed partest-ack was not finding all matching tests, and fixed that. Also cleaned up the ack options so they're understood by the latest version of ack. Along the way I broke the canonicalization functionality out into its own script so it can easily be used from other places.
* Remove tools/*{cp, _scala, _scalac}, and tools/*pickledJason Zaugg2013-10-2814-159/+0
| | | | | | | | | | The scripts to fire up a compiler or REPL from build products have bitrotted just enough to get rid of them. They do not include the correct JLine, nor the scala modules. I've also removed showPickled and diffPickled which were based on these, and were also based on some code in ShowPickled that no longer exists since 48cc8b4.
* Remove tools/remotetestJason Zaugg2013-10-281-230/+0
| | | | I suggest using the scala-checkin-manual Jenkins job instead.
* Remove tools/test-renamerJason Zaugg2013-10-281-82/+0
| | | | | | | | | | It delivered us the terser 't1234' naming convention for test cases. Its work is done. This commit does the bidding of the script's author: > Despite its shameful hackiness, checked in for posterity. > It'll live on forever in the git history; then I can remove it.
* Remove tools/updatescalacheckJason Zaugg2013-10-281-130/+0
| | | | We no longer maintain a fork.
* Remove outdated build scripts.Jason Zaugg2013-10-282-60/+0
| | | | | | | | | | | Only used on the 2.9.x series: /code/jenkins-config grep -R epfl-build . ./jobs/scala-nightly-checkinit-2.9.x/config.xml: <command>./tools/epfl-build 2.9.x -Xcheckinit</command> ./jobs/scala-nightly-main-2.9.x/config.xml:./tools/epfl-build 2.9.x &amp;&amp; ./tools/epfl-publish 2.9.x /code/jenkins-config grep -R epfl-publish . ./jobs/scala-nightly-main-2.9.x/config.xml:./tools/epfl-build 2.9.x &amp;&amp; ./tools/epfl-publish 2.9.x
* Remove tools/make-release-notesJason Zaugg2013-10-281-129/+0
| | | | This has lived in scala/make-release-notes for some time.
* Merge pull request #2930 from retronym/topic/patmat-inference-prepJason Zaugg2013-09-111-3/+4
|\ | | | | Topic/patmat inference prep
| * Restore --show-diff to partest-ack.Paul Phillips2013-08-291-3/+4
| | | | | | | | | | Looks like that issue was operator error. However partest option --show-log really has gone missing.
* | Merge pull request #2880 from huitseeker/update-artifactoryGrzegorz Kossakowski2013-08-301-1/+1
|\ \ | |/ |/| update typesafe.artifactory-online.com to private-repo.typesafe.com
| * update typesafe.artifactory-online.com to private-repoFrançois Garillot2013-08-271-1/+1
| |
* | Overhaul of partest-ack.Paul Phillips2013-08-241-79/+79
|/ | | | | | | | | | | | | | | | | | | | | | | Seems like many/most options to partest are broken. Working around as much as I can to make this thing useful again, plus lots of improvements in robustness. Spaces and such are preserved properly now, and I added a new way of selecting tests based on time. tools/partest-ack -s 1.week.ago % tests modified since time ... 66 tools/partest-ack 'case object (Foo|Bar)' % tests with matching paths ... 0 % tests with matching code ... 7 File paths and file contents are uniformly acked now, so for instance this works as expected. tools/partest-ack -i VIRTPAT % tests with matching paths ... 41 % tests with matching code ... 11 # 43 tests to run.
* Commit .gitignore directlyJason Zaugg2013-07-171-1/+0
| | | | | | | | | | | | Rather than relying on the cloner to copy the provided gitignore.SAMPLE files. This finishes the job started in c48509598, mostly by reverting that commit and moving the two existing SAMPLE files to the final destinations. Use `.git/info/exclude` to augment the list of patterns with entries specific to your workflow.
* Updates .gitignore files.Lex Spoon2013-06-261-0/+1
|
* Bring some sanity to the stability test.Paul Phillips2013-03-091-0/+29
| | | | | | | | | | | | | | | | | | | | | | There is no reason to be stability testing every piece of bytecode we've ever encountered. If the compilation products are unstable, then testing 20,000 classfiles will reveal it. Or it won't; either way, we can stop there. So I cut a gordian knot and focused the stability test solely on the contents of: library reflect compiler Next I cut the "custom ant task" cord. There's a tool for diffing files, it's decades old, it's called diff. It does the entire job we need. If it doesn't work on windows, it doesn't matter. The stability test is not something which needs to run in every environment. Either the classfiles are stable or they aren't. Generated the ant xml for building quick.{lib,reflect,comp} and strap.{lib,reflect,comp} so they are identical modulo the compiler used to build them, probably for the first time ever. I'm sure they won't stay that way, but it's a step.
* Overhaul of tools/partest-ack.Paul Phillips2013-01-311-43/+113
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I decided what would be really handy for test selection is being able to run all the tests which were created or modified at the same time as something else. Right now that is at file granularity, though it would be simple enough to generalize it such that any expression which can be translated to a set of git commits can also be turned into a selection of tests. I added some other options as well: Usage: $0 <regex> [-dfquvp] [ack options] -d pass --debug to partest -f pass --failed to partest -q DON'T pass --show-log and --show-diff to partest -u pass --update-check to partest -v pass --verbose to partest -p <path> select tests appearing in commits where <path> was also modified Example usage: > tools/partest-ack -p src/compiler/scala/tools/nsc/typechecker/Checkable.scala % tests-modified-in-same-commit ... 12 # 12 tests to run. Testing individual files testing: [...]/files/pos/t6537.scala [ OK ] Testing individual files testing: [...]/files/neg/unchecked-impossible.scala [ OK ] testing: [...]/files/neg/t1872.scala [ OK ] testing: [...]/files/neg/t4302.scala [ OK ] testing: [...]/files/neg/unchecked-knowable.scala [ OK ] testing: [...]/files/neg/unchecked-abstract.scala [ OK ] [etc]
* Merge commit 'refs/pull/1718/head' into merge-msil-genjvm-deletePaul Phillips2012-12-061-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'refs/pull/1718/head': Expunged the .net backend. Conflicts: build.detach.xml build.examples.xml build.xml project/Build.scala src/compiler/scala/tools/ant/Scalac.scala src/compiler/scala/tools/nsc/Global.scala src/compiler/scala/tools/nsc/settings/StandardScalaSettings.scala src/compiler/scala/tools/nsc/symtab/clr/TypeParser.scala src/compiler/scala/tools/nsc/transform/Mixin.scala src/intellij/compiler.iml.SAMPLE tools/buildcp
| * Expunged the .net backend.Paul Phillips2012-12-051-1/+1
| | | | | | | | | | | | | | | | It lives on in a branch born from this commit's parent. It's abrupt; no attempt is made to offer a "smooth transition" for the serious msil userbase, population zero. If anyone feels very strongly that such a transition is necessary, I will be happy to talk you into feeling differently.
* | SI-6769 Removes GenJVM backendJames Iry2012-12-052-3/+2
|/ | | | | Get rid of GenJVM and everything that refers to it. Also get rid of GenAndroid since it's dead code that refers to GenJVM.
* Merge pull request #1623 from paulp/merge-2.10.xAdriaan Moors2012-11-161-1/+1
|\ | | | | Merge 2.10.0-wip/.x into master
| *-. Merge remote-tracking branches 'origin/2.10.x' and 'origin/2.10.0-wip' into ↵Paul Phillips2012-11-141-1/+1
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | master Conflicts: src/compiler/scala/tools/nsc/transform/ExtensionMethods.scala
| | | * Update tools/epfl-publishcunei2012-11-091-1/+1
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, during each Scala nightly build, the epfl-publish script rsyncs the resulting dists/archives to the repository machine (chara). Now, as a result of a change introduced a while back, dists/archives/ now also contains a symbolic link, created at the end of the build when the targets "pack-archives.latest.*" are invoked (in src/build/pack.xml). That was introduced in: scala/scala@506bcfe71c93160ebfa0ca9b8b170b4b54e844e9 scala/scala@cb99853c8655686dae1288cbcd44a42cf1ea6609 This link, created in dists/archives/, is copied over as-is at the end of the rsync to chara by epfl-publish. On chara, however, the link points to an invalid target (the path is absolute). Separately, the repository directory on chara is rsync'd every 30 minutes over to the machine that serves www.scala-lang.org, via cron. Rsynch finds that the link target does not exist, and generates an email with the crontab log, which is then duly sent to a system mailbox. Every 30 minutes. Since March. Needless to say, the mailbox is pretty large by now. The fix is trivial, but this needs to be included in all the branches that are tested during the nightly. Since RC2 has just been cut, and the code frozen, I'm not sure how this change can be included without disruption; therefore, I'll just send a pull request on 2.10.0-wip, and let Josh/Paul take the appropriate steps.
* | / Fix bug in partest-ack.Paul Phillips2012-11-141-1/+1
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unfortunate bug was making it far less useful than it was supposed to be. Now it really does look in scala/check/flags files, here are examples of things which work: % tools/partest-ack "input ended while parsing XML" Found 6 tests matching 'ack input ended while parsing XML' % tools/partest-ack Xlint Found 11 tests matching 'ack Xlint' % tools/partest-ack -- -language:experimental.macros Found 143 tests matching 'ack -- -language:experimental.macros' % tools/partest-ack @unchecked Found 13 tests matching 'ack @unchecked'
* | A wrapper for selecting tests for partest.Paul Phillips2012-09-221-0/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | "partest-ack", just what it sounds like. % tools/partest-ack Usage: tools/partest-ack <regex> [ack options] Given a regular expression (and optionally, any arguments accepted by ack) runs all the tests for which any associated file matches the regex. Associated files include .check and .flags files. Tests in directories will match if any file matches. A file can match the regex by its contents or by its name. You must have ack installed: http://betterthangrep.com/ack-standalone Examples: % tools/partest-ack monad Found 4 tests matching 'ack monad' Testing individual files testing: [...]/files/pos/tcpoly_boundedmonad.scala [ OK ] testing: [...]/files/pos/tcpoly_ticket2096.scala [ OK ] testing: [...]/files/run/tcpoly_monads.scala [ OK ] testing: [...]/files/presentation/callcc-interpreter [ OK ] % tools/partest-ack monad -i # -i == ignore case Found 12 tests matching 'ack monad -i' Testing individual files [etc]
* | Merge branch '2.10.x'Paul Phillips2012-09-205-17/+27
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 2.10.x: (36 commits) Normalized line endings. New .gitattributes file. Disabled failing build manager tests. New test case for SI-6337 New test case for closing SI-6385 Value classes: eliminated half-boxing Cleanup of OverridingPairs Fixes SI-6260 Use faster download URL now that artifactory is fixed. don't try to create tags w/o scala-reflect.jar some small remaining fixes SI-5943 toolboxes now autoimport Predef and scala Fix for loud test. SI-6363 deploys the updated starr SI-6363 removes scala.reflect.base SI-6392 wraps non-terms before typecheck/eval SI-6394 fixes macros.Context.enclosingClass Error message improvement for SI-6336. Adjustments to scala.concurrent.duration. prepping for the refactoring ... Conflicts: src/actors-migration/scala/actors/Pattern.scala src/compiler/scala/tools/nsc/Global.scala src/compiler/scala/tools/nsc/transform/Erasure.scala src/compiler/scala/tools/nsc/typechecker/Typers.scala src/library/scala/collection/immutable/Vector.scala test/files/jvm/actmig-PinS_1.scala test/files/jvm/actmig-PinS_2.scala test/files/jvm/actmig-PinS_3.scala test/files/jvm/actmig-public-methods_1.scala
| * Merge remote-tracking branch 'paulp/topic/gitattributes' into 2.10.xPaul Phillips2012-09-204-16/+26
| |\
| | * Normalized line endings.Paul Phillips2012-09-202-16/+16
| | | | | | | | | | | | | | | | | | This brings all the files into line with the .gitattributes settings, which should henceforth be automatically maintained by git.
| | * New .gitattributes file.Paul Phillips2012-09-202-0/+10
| | | | | | | | | | | | | | | | | | This should assist in keeping line endings straight. It is designed to enforce LF endings everywhere except for files specifically for windows.
| * | Use faster download URL now that artifactory is fixed.Josh Suereth2012-09-201-1/+1
| |/
* | Merge remote-tracking branch 'origin/2.10.x' into merge-210Paul Phillips2012-09-152-7/+10
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * origin/2.10.x: (68 commits) Eliminate breaking relative names in source. "Hot fix" for broken build. Fix SI-4813 - Clone doesn't work on LinkedList. Made 'def clone()' consistent with parens everywhere. accommodates pull request feedback SI-6310 redeploys the starr SI-6310 AbsTypeTag => WeakTypeTag SI-6323 outlaws free types from TypeTag SI-6323 prohibits reflection against free types improvements for reification of free symbols removes build.newFreeExistential SI-6359 Deep prohibition of templates in value class Fixes SI-6259. Unable to use typeOf in super call of top-level object. Fixes binary repo push for new typesafe repo layouts. Better error message for pattern arity errors. Rescued TreeBuilder from the parser. Pending test for SI-3943 Test case for a bug fixed in M7. Fix for SI-6367, exponential time in inference. SI-6306 Remove incorrect eta-expansion optimization in Uncurry ... Conflicts: src/compiler/scala/tools/nsc/transform/AddInterfaces.scala src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala
| * Fixes binary repo push for new typesafe repo layouts.Josh Suereth2012-09-132-7/+10
| | | | | | | | | | | | | | | | This adds a new/fixed push.jar and adapts the binary-repo-lib script to use different URLs for pulling than pushing. This also adjustst the script to attempt the backup repo in case new artifacts haven't synched to the fast/stable repository.
* | Fix version detection to be the first word.Eugene Vigdorchik2012-08-281-1/+1
| |
* | New make release notes script, this time scala-ified for more POWER, cap'n.Josh Suereth2012-07-122-49/+129
|/
* starr sources to move cloneable class to package `annotation`Lukas Rytz2012-07-111-0/+6
|
* Merge pull request #816 from VladUreche/feature/diagrams-dev-pullreq-newJosh Suereth2012-07-071-0/+50
|\ | | | | Scaladoc diagrams (again)
| * Scaladoc diff-firendly outputVlad Ureche2012-07-021-0/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Scaladoc can create raw content files that we can easily diff and spot any modifications. There is a cool project by Stefan Zeiger to export the scaladoc model in JSON, but with the language and scaladoc being so quick to evolve, it'll be a pain to properly maintain. In the long-run, the plan is to sample a couple of raw files on each build and email me the diff. If I spot anything that may be wrong I can fix it, revert the commit or at least file a bug. For now, .html.raw files are generated on-demand, using ant -Dscaladoc.raw.output="yes" <targets> Also added a script that will do the job of diff-ing. Review by @jsuereth. Conflicts: src/compiler/scala/tools/nsc/doc/Settings.scala
* | Fix to push-jars to use same sha fixing that pull uses.Josh Suereth2012-07-061-7/+13
|/
* Updated tools/*cp scripts.Paul Phillips2012-06-067-42/+33
| | | | | To include the asm classes in some cases, and also to improve with my sadly now-greater knowledge of shell scripting.
* Orphan checkfile remover.Paul Phillips2012-05-261-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Are these -msil checkfiles used in some secret fashion? The level of activity suggest otherwise. Since scala-nightly-msil has been disabled for over a year, it's an easy rm unless someone speaks up. % tools/rm-orphan-checkfiles Scanning for orphan check files... rm 'test/disabled/run/code.check' rm 'test/files/jvm/t1652.check' rm 'test/files/neg/macro-argtype-mismatch.check' rm 'test/files/neg/macro-noncompilertree.check' rm 'test/files/neg/macro-nontree.check' rm 'test/files/run/Course-2002-01-msil.check' rm 'test/files/run/Course-2002-02-msil.check' rm 'test/files/run/Course-2002-03-msil.check' rm 'test/files/run/Course-2002-04-msil.check' rm 'test/files/run/Course-2002-08-msil.check' rm 'test/files/run/Course-2002-09-msil.check' rm 'test/files/run/Course-2002-10-msil.check' rm 'test/files/run/absoverride-msil.check' rm 'test/files/run/bitsets-msil.check' rm 'test/files/run/boolord-msil.check' rm 'test/files/run/bugs-msil.check' rm 'test/files/run/impconvtimes-msil.check' rm 'test/files/run/infix-msil.check' rm 'test/files/run/iq-msil.check' rm 'test/files/run/macro-invalidret-doesnt-conform-to-impl-rettype.check' rm 'test/files/run/macro-rettype-mismatch.check' rm 'test/files/run/misc-msil.check' rm 'test/files/run/promotion-msil.check' rm 'test/files/run/richs-msil.check' rm 'test/files/run/runtime-msil.check' rm 'test/files/run/tuples-msil.check' rm 'test/pending/jvm/t1464.check' rm 'test/pending/run/subarray.check' rm 'test/pending/run/t0446.check' rm 'test/pending/run/t5629.check' Scanning for orphan flags files... rm 'test/files/neg/macro-argtype-mismatch.flags' rm 'test/files/neg/macro-noncompilertree.flags' rm 'test/files/neg/macro-nontree.flags' rm 'test/files/pos/anyval-children.flags' rm 'test/files/pos/t3097.flags' rm 'test/files/run/macro-invalidret-doesnt-conform-to-impl-rettype.flags' rm 'test/files/run/macro-rettype-mismatch.flags'
* Removing extraneous files.Paul Phillips2012-05-159-138/+0
| | | | Culling accumulated unnecessary code.
* Optimization of Predef implicits.Paul Phillips2012-04-301-1/+1
| | | | | | | All those wildcards in a default-scoped implicit are expensive, they each lead to a typevar on every search. Restructured the Tuple2/Tuple3 Zipped classes, they're better this way anyway. This also gets all that Tuple[23] code out of genprod.
* A brand new, fast classfile parser.Paul Phillips2012-04-261-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Try it: ./tools/dump-class ./build/quick/classes The output is intended to be easy to filter on the command line. This is a starting point for lots of interesting bytecode analysis for which we have waited too long. Example. All generic signatures we produce. // almost 20K classfiles % find build/quick/classes -name '*.class' |wc -l 18519 // fully parsed in 6 seconds tools/dump-class build/quick/classes |grep "^ signature" | wc -l 50802 real 0m6.230s It's designed to be easy to make faster if you don't care about particular classfile bits; you can override those methods to jump forward in the input stream rather than building a structure. For just a little sampling, here are our most frequently repeated name/signature combinations. 194 signature <init> ()V // this one is weird, wonder why there's a generic signature 115 signature $div$colon$bslash <A1:Ljava/lang/Object;>(TA1;Lscala/Function2<TA1;TA1;TA1;>;)TA1; 105 signature applyOrElse <A1:Ljava/lang/Object;B1:Ljava/lang/Object;>(TA1;Lscala/Function1<TA1;TB1;>;)TB1; 103 signature view ()Ljava/lang/Object; 101 signature toSet <B:Ljava/lang/Object;>()Lscala/collection/immutable/Set<TB;>; And the top five name/descriptor combinations. 11170 descriptor <clinit> ()V 10155 descriptor serialVersionUID J 7130 descriptor apply (Ljava/lang/Object;)Ljava/lang/Object; 3028 descriptor apply ()Ljava/lang/Object; 2426 descriptor <init> ()V
* Portability changes to binary-repo-lib.sh.Paul Phillips2012-04-131-2/+8
|
*-. Merge commit 'refs/pull/380/head'; commit 'refs/pull/381/head' into developPaul Phillips2012-04-131-9/+44
|\ \
| * | Cache consistency checks for starr binary repo.Josh Suereth2012-04-121-9/+44
| |/
* | Merge pull request #277 from VladUreche/hack/spaces-scriptJosh Suereth2012-04-121-0/+130
|\ \ | |/ |/| Space/Tab cleanup script - run before committing
| * Space/Tab cleanup script - run before committingVlad Ureche2012-03-161-0/+130
| | | | | | | | | | Running this script will transform tabs into a pair of spaces and will eliminate trailing spaces. Use at your own risk!
* | fix for get-scala-commit-* on Windows (tested with Windows 7)Eugene Burmako2012-04-112-45/+18
| |
* | Yet another attempt to make the version a good oneJosh Suereth2012-03-203-39/+2
| | | | | | | | | | This fixes the git commit drift issue and gives us enough granularity to make releases at any time that are cronologically increasing.
* | First cut at a release notes tool to help generate them.Josh Suereth2012-03-191-0/+49
| |