{"commits":[{"author":{"name":"Luke Daley","email":"2934526b788a419c15c351c8462a7a7eef4633fb@ldaley.com"},"sha":"9e4b7b28bf9a19013034c4e6b746106c046e50a1","message":"Move Synchronizer our of the project namespace.","url":"https://api.github.com/repos/gmercer/gradle/commits/9e4b7b28bf9a19013034c4e6b746106c046e50a1"},{"author":{"name":"Luke Daley","email":"2934526b788a419c15c351c8462a7a7eef4633fb@ldaley.com"},"sha":"e3f785407df4bb220f20cd0fed1909284b3c242a","message":"Rename Synchronizer.threadSafely to Synchronizer.synchronize","url":"https://api.github.com/repos/gmercer/gradle/commits/e3f785407df4bb220f20cd0fed1909284b3c242a"},{"author":{"name":"Luke Daley","email":"2934526b788a419c15c351c8462a7a7eef4633fb@ldaley.com"},"sha":"e1181a46d674c1fa277cb609040bab204822a9e8","message":"Replace Synchronizer specific interface with Factory.\n\nSynchronizer should eventually grow to support our other “functional” interfaces like Spec, Action etc.","url":"https://api.github.com/repos/gmercer/gradle/commits/e1181a46d674c1fa277cb609040bab204822a9e8"},{"author":{"name":"Luke Daley","email":"2934526b788a419c15c351c8462a7a7eef4633fb@ldaley.com"},"sha":"8dd2bd7472e2a90a7f955d4293b98d21ade3863e","message":"Use Synchronizer to serialise access to the cache","url":"https://api.github.com/repos/gmercer/gradle/commits/8dd2bd7472e2a90a7f955d4293b98d21ade3863e"},{"author":{"name":"Luke Daley","email":"2934526b788a419c15c351c8462a7a7eef4633fb@ldaley.com"},"sha":"397102d9c9be02d806c94cf2c6cda9be8d14883f","message":"Add “codeQuality” task to projects that runs all codenarc and check style rules.","url":"https://api.github.com/repos/gmercer/gradle/commits/397102d9c9be02d806c94cf2c6cda9be8d14883f"},{"author":{"name":"Luke Daley","email":"2934526b788a419c15c351c8462a7a7eef4633fb@ldaley.com"},"sha":"90bc2a8ecc4e6e24d30bfd43f9cf709423408aaa","message":"Merge branch 'sf-concurrent-tooling'","url":"https://api.github.com/repos/gmercer/gradle/commits/90bc2a8ecc4e6e24d30bfd43f9cf709423408aaa"},{"author":{"name":"Luke Daley","email":"2934526b788a419c15c351c8462a7a7eef4633fb@ldaley.com"},"sha":"f7292d9f41f21281251329b5f4d81eb052c97b10","message":"explicitly support short php tags","url":"https://api.github.com/repos/gmercer/gradle/commits/f7292d9f41f21281251329b5f4d81eb052c97b10"},{"author":{"name":"Luke Daley","email":"2934526b788a419c15c351c8462a7a7eef4633fb@ldaley.com"},"sha":"23320609b12de58a927982a9dc81a7c43f79b819","message":"Include the .htaccess file in the site.","url":"https://api.github.com/repos/gmercer/gradle/commits/23320609b12de58a927982a9dc81a7c43f79b819"},{"author":{"name":"Luke Daley","email":"2934526b788a419c15c351c8462a7a7eef4633fb@ldaley.com"},"sha":"0adb634f0d20cca18b57c7d8cbfc216833f1e626","message":"Inlined the roadmap code now that it's sourced from the forum.","url":"https://api.github.com/repos/gmercer/gradle/commits/0adb634f0d20cca18b57c7d8cbfc216833f1e626"},{"author":{"name":"Luke Daley","email":"2934526b788a419c15c351c8462a7a7eef4633fb@ldaley.com"},"sha":"03c6912d43d8d692ae0501f395c65b3934f9dc9b","message":"remove css link","url":"https://api.github.com/repos/gmercer/gradle/commits/03c6912d43d8d692ae0501f395c65b3934f9dc9b"},{"author":{"name":"daz","email":"e779602c8837ee05f20479a88468ad788a58f934@bigdaz.com"},"sha":"e90033a6a6d857c076d97d8b89c93c0b7ceae611","message":"Separate UserResolverChain from IvyResolverBackedArtifactToFileResolver with an interface","url":"https://api.github.com/repos/gmercer/gradle/commits/e90033a6a6d857c076d97d8b89c93c0b7ceae611"},{"author":{"name":"daz","email":"e779602c8837ee05f20479a88468ad788a58f934@bigdaz.com"},"sha":"0a3299879859c24716cef2b47e5437c149ce075c","message":"First cut at ModuleDescriptorCache: taking control of meta-data caching\n- Cache consists of single index file + directory of generated ivy.xml files\n- Index file stores resolution timestamp (and will save 'changing' flag)\n- ModuleDescriptorStore & ModuleDescriptorFileStore persist/load ModuleDescriptors to disk in ivy format\n- Integration tests for dependency resolution pass, although knowledge of ChangingModules is still held in ModuleResolution cache (for dynamic versions)\n- Work in progress","url":"https://api.github.com/repos/gmercer/gradle/commits/0a3299879859c24716cef2b47e5437c149ce075c"},{"author":{"name":"daz","email":"e779602c8837ee05f20479a88468ad788a58f934@bigdaz.com"},"sha":"7ecd5476a7c2de294c647802acddaf3f5a95ef9f","message":"Update artifact cache layout version","url":"https://api.github.com/repos/gmercer/gradle/commits/7ecd5476a7c2de294c647802acddaf3f5a95ef9f"},{"author":{"name":"daz","email":"e779602c8837ee05f20479a88468ad788a58f934@bigdaz.com"},"sha":"8455f31ada4101b9d2aacf3fc37d6959b8dca7ac","message":"Moved responsibility for managing changing modules into the ModuleDescriptorCache\n- ModuleResolutionCache no longer records resolution of changing modules, only dynamic versions\n- ForceChangeDependencyDescriptor uses reflection to set private field rather than a proxy to intercept calls: ivy checks implementation type.","url":"https://api.github.com/repos/gmercer/gradle/commits/8455f31ada4101b9d2aacf3fc37d6959b8dca7ac"},{"author":{"name":"daz","email":"e779602c8837ee05f20479a88468ad788a58f934@bigdaz.com"},"sha":"7a5a384e1299bedc5900114879b40d3c4e3521f9","message":"Minor refactor; fix some checkstyle and broken unit tests","url":"https://api.github.com/repos/gmercer/gradle/commits/7a5a384e1299bedc5900114879b40d3c4e3521f9"},{"author":{"name":"daz","email":"e779602c8837ee05f20479a88468ad788a58f934@bigdaz.com"},"sha":"66e6ef468bdb0f9826da7a9bbc70fbfd7fd8aa2a","message":"Ignore \"FactoryMethodName\" codenarc rule added in v0.16","url":"https://api.github.com/repos/gmercer/gradle/commits/66e6ef468bdb0f9826da7a9bbc70fbfd7fd8aa2a"},{"author":{"name":"daz","email":"e779602c8837ee05f20479a88468ad788a58f934@bigdaz.com"},"sha":"9a5ca9c33134934b616b18e4e816b07cf3898af5","message":"Use a better key for caching artifact resolution","url":"https://api.github.com/repos/gmercer/gradle/commits/9a5ca9c33134934b616b18e4e816b07cf3898af5"},{"author":{"name":"daz","email":"e779602c8837ee05f20479a88468ad788a58f934@bigdaz.com"},"sha":"9c39dca48ea53b8c6bfa8f289e97ff4af675a1e0","message":"Fixed bug where all Modules in the new ModuleDescriptorCache were flagged as 'changing'","url":"https://api.github.com/repos/gmercer/gradle/commits/9c39dca48ea53b8c6bfa8f289e97ff4af675a1e0"},{"author":{"name":"daz","email":"e779602c8837ee05f20479a88468ad788a58f934@bigdaz.com"},"sha":"45b8791126d203e70acd9957697966595081ac1e","message":"Exception handling cleanup","url":"https://api.github.com/repos/gmercer/gradle/commits/45b8791126d203e70acd9957697966595081ac1e"},{"author":{"name":"daz","email":"e779602c8837ee05f20479a88468ad788a58f934@bigdaz.com"},"sha":"b6381ca93a3b2987beb4a564d27c88d5299b818a","message":"Artifact caching fixes\n- Cache an artifact as 'missing' if the server has returned a 404, but not if server request failed\n- Use changing module cache expiry to determine when to recheck missing artifacts\n- Integration tests for missing artifacts and broken artifact links","url":"https://api.github.com/repos/gmercer/gradle/commits/b6381ca93a3b2987beb4a564d27c88d5299b818a"}],"ref":"refs/heads/master","head":"b6381ca93a3b2987beb4a564d27c88d5299b818a","size":20,"push_id":51471876}