{"push_id":1766209589,"size":2,"distinct_size":2,"ref":"refs/heads/1.0","head":"d253375c3250eacb76864792d8047ede32ad5503","before":"970e18eb22e2b5054f91cf155700e8045d745a56","commits":[{"sha":"f10c53cd1f60a201dcb9e725b4a8f44982079b99","author":{"name":"Guillaume Martres","email":"aa72171fda491727f5f21128a0c723d838f42e00@ubuntu.com"},"message":"Fix #102: Better main class detection\n\nPreviously, the main class detection was handled by\nhttps://github.com/sbt/zinc/blob/1.0/internal/zinc-apiinfo/src/main/scala/xsbt/api/Discovery.scala\nwhich looks for a main method with the correct signature in the\nextracted API. This is imperfect because it relies on ExtractAPI\ndealiasing types (because Discovery will look for a main method with a\nparameter type of `java.lang.String` and won't recognize\n`scala.Predef.String`), dealiasing means that the extracted API looses\ninformation and thus can lead to undercompilation.\n\nThis commit partially fixes this by adding a new callback to AnalysisCallback:\n    void mainClass(File sourceFile, String className)\nthat is used to explicitly register main entry points. This way, tools\ndo not need to interpret the extracted API, this is much better since it\nmakes it easier for zinc to evolve the API representation.\n\nThis commit does not actually changes ExtractAPI to not dealias, this\ncan be done in a later PR.\n\nNote that there is another usecase for xsbt.api.Discovery that this PR\ndoes not replace: discovering tests. This is more complicated because\ndifferent test frameworks have different ways to discover tests. For\nmore information, grep for \"Fingerprint\" in https://github.com/sbt/sbt\nand https://github.com/sbt/junit-interface","distinct":true,"url":"https://api.github.com/repos/sbt/zinc/commits/f10c53cd1f60a201dcb9e725b4a8f44982079b99"},{"sha":"d253375c3250eacb76864792d8047ede32ad5503","author":{"name":"eugene yokota","email":"07efdd79502b339c1b4b06f319e12a44bf6e1be1@gmail.com"},"message":"Merge pull request #287 from smarter/fix/main-class-detection\n\nFix #102: Better main class detection","distinct":true,"url":"https://api.github.com/repos/sbt/zinc/commits/d253375c3250eacb76864792d8047ede32ad5503"}]}
{"actor":{"display_login":"eed3si9n"}}