{"push_id":3399424434,"size":7,"distinct_size":7,"ref":"refs/heads/rebased","head":"eb5b692137a4e444d2c3895d4b5ac0d8f1081e4f","before":"465656ba216ed1bea5e85dbc37c3834922aa8b32","commits":[{"sha":"77827db4607417bf9df84949a5644d24f9a1097d","author":{"name":"WANG CHAO","email":"f6d400e2d252ddba368abce3359b4425597ccb5d@qq.com"},"message":"build.gradle: fix checkstyle plugin failure\n\nThe `checkstyle` plugin of Gradle fails in JDK11.\n\nThe main reason is that, in JDK11, the `user.dir` cannot be reset by\nGradle [1]. So, checkstyle plugin is unable to locate the suppressions\nfile correctly. Also, the `FileContentHolder` module are deprecated[2].\n\nLet's add ` config_loc` variable suggested by Gradle to solve the\nproblem.[1]\n\n[1] https://github.com/gradle/gradle/issues/8286\n[2] https://github.com/checkstyle/checkstyle/issues/5187","distinct":true,"url":"https://api.github.com/repos/fzdy1914/Inventory-Manager/commits/77827db4607417bf9df84949a5644d24f9a1097d"},{"sha":"227330a2aedf77db82a261ff1c20acb09b6a8f01","author":{"name":"WANG CHAO","email":"f6d400e2d252ddba368abce3359b4425597ccb5d@qq.com"},"message":"disable TLS v1.3 protocol\n\nWe use Gradle coverall plugin to send the data generated by coverage\nplugin to coverall.io, so our user can view the coverage report online.\n\nHowever, the TLSv1.3 protocol used by JDK 11 is not supported by the\ncoverall.io, actually it gives the error bellow:\n\njavax.net.ssl.SSLProtocolException: Connection reset by peer (Write failed)\n\nLet’s disable TLSv1.3 protocol by restricting the scope of protocols in\ngradle.properties.[1]\n\n[1]https://github.com/kt3k/coveralls-gradle-plugin/issues/85","distinct":true,"url":"https://api.github.com/repos/fzdy1914/Inventory-Manager/commits/227330a2aedf77db82a261ff1c20acb09b6a8f01"},{"sha":"34ae59a6641627ffc9869c446db4a7a6ad2b9dab","author":{"name":"WANG CHAO","email":"f6d400e2d252ddba368abce3359b4425597ccb5d@qq.com"},"message":"build.gradle: add javafx runtime dependency\n\nJavaFX is not distributed with Oracle JDK any more from JDK11 onwards [1].\nOur code uses javafx as our client platform. So it is unable to be compiled\nin JDK11 anymore.\n\nAs we are moving to JDK11, let’s add javafx runtime dependency to gradle.\n\nMeanwhile, the dependency provided are platform specific. Let’s use the\nSystemUtils api provided by Apache [2] to specify the version of javafx\ndependency.\n\n[1]https://blogs.oracle.com/java-platform-group/the-future-of-javafx-and-other-java-client-roadmap-updates\n[2]http://commons.apache.org/proper/commons-lang/javadocs/api-release/index.html","distinct":true,"url":"https://api.github.com/repos/fzdy1914/Inventory-Manager/commits/34ae59a6641627ffc9869c446db4a7a6ad2b9dab"},{"sha":"7d44a84621aec356da0454701bfae84a9006f5f9","author":{"name":"WANG CHAO","email":"f6d400e2d252ddba368abce3359b4425597ccb5d@qq.com"},"message":"change the entry point of addressbook\n\nAfter we add the javafx runtime dependency, addressbook is still unable\nto run in a jdk11 environment. It gives an error of below:\nError: JavaFX runtime components are missing, and are required to run this application\n\nThis error comes from sun.launcher.LauncherHelper in the java.base\nmodule. The reason for this is that the Main app extends Application\nand has a main method. If that is the case, the LauncherHelper will check\nfor the javafx.graphics module to be present as a named module. If that\nmodule is not present, the launch is aborted. Hence, having the JavaFX\nlibraries as jars on the classpath is not allowed in this case. [1]\n\nThis is more like a JDK 11 problem which cannot be solved elegantly.\nOne simple workaround is to have a separate main class that doesn't\nextend Application. Hence it doesn't do the check on javafx.graphics\nmodule, and when the required jars are on the classpath, it works fine.\n\nLet’s add another main class to be the new entry point of addressbook\nto solve this problem.\n\n[1]http://mail.openjdk.java.net/pipermail/openjfx-dev/2018-June/021977.html","distinct":true,"url":"https://api.github.com/repos/fzdy1914/Inventory-Manager/commits/7d44a84621aec356da0454701bfae84a9006f5f9"},{"sha":"69b6f3d9537d277feeec9960bdd427db1fc58df3","author":{"name":"WANG CHAO","email":"f6d400e2d252ddba368abce3359b4425597ccb5d@qq.com"},"message":"build.gradle: add javafx runtime dependency for other platforms\n\nWe have added the platform specific javafx runtime dependency, so the\naddressbook is able to run locally.\n\nHowever, the jar file generated on one OS cannot run on other OS. The\nreason is that, java SE cannot initialize the graph render correctly\nwithout corresponding javafx dependency for the other OS.\n\nLet’s add the javafx runtime dependency for all platforms (MacOS, Window,\nLinux) so the jar file generated on one OS is able to run in other OS [1].\n\nThe order of dependency is important because it effects the way Gradle\ngroup dependency tree.\n\n[1]https://stackoverflow.com/questions/52653836/maven-shade-javafx\n-runtime-components-are-missing/52654791#52654791","distinct":true,"url":"https://api.github.com/repos/fzdy1914/Inventory-Manager/commits/69b6f3d9537d277feeec9960bdd427db1fc58df3"},{"sha":"aecca078bc21531585d1c7cd9950070c8d55fe68","author":{"name":"WANG CHAO","email":"f6d400e2d252ddba368abce3359b4425597ccb5d@qq.com"},"message":"build.gradle: remove 'prism.order' property for headless task.\n\nFor headless test task, 'prism.order' property is used to choose the\ngraph renderer to use. Currently, we specify this property to be 'sw'.\n\nHowever, this property seems to trigger some unknown bug with\nJDK11. This property will cause Java Runtime Error for Windows OS\nincluding AppVoyer:\n\n# A fatal error has been detected by the Java Runtime Environment:\n#\n#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ffd95b64879, pid=1476, tid=2640\n#\n# JRE version: OpenJDK Runtime Environment (11.0.1+13) (build 11.0.1+13)\n# Java VM: OpenJDK 64-Bit Server VM (11.0.1+13, mixed mode, tiered, compressed oops, g1 gc, windows-amd64)\n# Problematic frame:\n# C  [javafx_font.dll+0x4879]\n\nIt is more like a JDK 11 bug with 'sw' renderer. Meanwhile, it is not so\nnecessary to set this property. It is acceptable to use platform-specified\ngraph renderer to do the test. Let’s remove this property to solve the\nproblem.","distinct":true,"url":"https://api.github.com/repos/fzdy1914/Inventory-Manager/commits/aecca078bc21531585d1c7cd9950070c8d55fe68"},{"sha":"eb5b692137a4e444d2c3895d4b5ac0d8f1081e4f","author":{"name":"WANG CHAO","email":"f6d400e2d252ddba368abce3359b4425597ccb5d@qq.com"},"message":"Upgrade to JDK 11\n\nWe currently advertise that we support \"JDK 8\". However, the public\nupdates of Java SE 8 for personal users will end soon [1].\n\nJDK 11 is the next Long-Term-Support (LTS) release after JDK 8 [1].\nIt is better for us to keep updated with the latest release of JDK.\n\nLet's update our target JDK to version 11, with the following steps:\n\n  * We use openjfx-monocle version jdk-11+26 since that is the latest\n      version of openjfx-monocle that supports JDK 11 [2].\n\n  * We bump the target and source compatibility of Gradle to JDK11.\n\n  * We update Travis and AppVoyer configs to use JDK11 as runtime\n      environment.\n\n  * We remove the add-on in Travis config because it is redundant for\n      JDK 11 [3].\n\n  * We make it clear in the User Guide / Developer Guide that we only\n      support JDK 11 (not JDK 8, 9, 10)。\n\n[1]  https://www.oracle.com/technetwork/java/java-se-support-roadmap.html\n[2]  https://github.com/TestFX/Monocle\n[3]  https://www.deps.co/guides/travis-ci-latest-java/","distinct":true,"url":"https://api.github.com/repos/fzdy1914/Inventory-Manager/commits/eb5b692137a4e444d2c3895d4b5ac0d8f1081e4f"}]}
{"actor":{"display_login":"fzdy1914"}}