aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/tools/singlejar
Commit message (Collapse)AuthorAge
...
* Use WriteBytes instead of AppendFile to write entries.Gravatar Sasha Smundak2016-09-22
| | | | | | | | | This improves wallclock times for building deploy jars by ~5%. Also, calculate the length of the Data Descriptor Record more accurately. -- MOS_MIGRATED_REVID=133849413
* Rollback of commit 82d43279f93d95e4c41b4bc598a3cc05ddd1ae1a.Gravatar Laszlo Csomor2016-09-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | *** Reason for rollback *** Breaks TensorFlow and other Bazel jobs on ci.bazel.io *** Original change description *** Change execution root for external repositories to be ../repo Some of the important aspect of this change: * Remote repos in the execution root are under output_base/execroot/repo_name, so the prefix is ../repo_name (to escape the local workspace name). * Package roots for external repos were previously "output_base/", they are now output_base/external/repo_name (which means source artifacts always have a relative path from their repository). * Outputs are under bazel-bin/external/repo_name/ (or similarly under genfiles). Note that this is a bit of a change from how this was implemented in the previous cl. Fixes #1262. RELNOTES[INC]: Previously, an external repository would be symlinked into the execution root at execroot/local_repo/external/remote_repo. This changes it to be at execroot/remote_repo. This may break genrules/Skylark actions that hardcode execution root paths. If this causes breakages for you, ensure that genrules are using $(location :target) to access files and Skylark rules are using http://bazel.io/docs/skylark/lib/File.html's path, dirname, etc. functions. Roll forward of bdfd58a. -- MOS_MIGRATED_REVID=133709658
* Change execution root for external repositories to be ../repoGravatar Kristina Chodorow2016-09-20
| | | | | | | | | | | | | | | | | | | | | | | Some of the important aspect of this change: * Remote repos in the execution root are under output_base/execroot/repo_name, so the prefix is ../repo_name (to escape the local workspace name). * Package roots for external repos were previously "output_base/", they are now output_base/external/repo_name (which means source artifacts always have a relative path from their repository). * Outputs are under bazel-bin/external/repo_name/ (or similarly under genfiles). Note that this is a bit of a change from how this was implemented in the previous cl. Fixes #1262. RELNOTES[INC]: Previously, an external repository would be symlinked into the execution root at execroot/local_repo/external/remote_repo. This changes it to be at execroot/remote_repo. This may break genrules/Skylark actions that hardcode execution root paths. If this causes breakages for you, ensure that genrules are using $(location :target) to access files and Skylark rules are using http://bazel.io/docs/skylark/lib/File.html's path, dirname, etc. functions. Roll forward of bdfd58a. -- MOS_MIGRATED_REVID=133606309
* Fix test for whether the timestamp in the local header needs replacement.Gravatar Googler2016-09-16
| | | | | -- MOS_MIGRATED_REVID=133330857
* Attempt to free wrong buffer.Gravatar Sasha Smundak2016-09-15
| | | | | -- MOS_MIGRATED_REVID=133249476
* Add asmundak to the OWNERS.Gravatar Sasha Smundak2016-09-15
| | | | | -- MOS_MIGRATED_REVID=133247282
* Change C++ singlejar to use stdio for all output, instead of a mix ofGravatar Googler2016-09-14
| | | | | | | | | | | | | | | | | | | | | sendfile() and write() without buffering. sendfile() is not a speedup for typical jar contents; the average compressed class file is less than 2KB, so memcpy()ing the data into a large buffer is cheaper than the extra system calls. The existing non-sendfile code was making four calls to lseek() per archive member. I removed all of those by using pread() or caching the output position. Configure stdio to use a 128KB buffer to make fewer write() calls to the output file. This is a noticeable speedup over the default when writing to a fuse filesystem. (I think this wouldn't be necessary if our fuse filesystems would set st_blksize appropriately in stat() results.) Remove needless thread-hostile calls to umask(). -- MOS_MIGRATED_REVID=133057985
* Allow OutputJar subclass to customize entry handling behavior.Gravatar Sasha Smundak2016-08-31
| | | | | | | RELNOTES: -- MOS_MIGRATED_REVID=131805817
* Add an option to the Concatenator to insert a newline before the contents of ↵Gravatar Sasha Smundak2016-08-31
| | | | | | | | | the merged entry. RELNOTES: -- MOS_MIGRATED_REVID=131731752
* When creating new files, set creator version to 2.0 instead of Unix spec ↵Gravatar Sasha Smundak2016-08-31
| | | | | | | | | 3.0. Otherwise unzip thinks that external_attributes field contains access mode bits and fails to extract. RELNOTES: -- MOS_MIGRATED_REVID=131724308
* Save CEN (Central Directory) offset and size values in the End of Central ↵Gravatar Sasha Smundak2016-08-30
| | | | | | | | | Directory record if possible, even when we create Zip64 End of Central Directory record. It is a workaround for the bug in the Java compiler and 'javah' tool. RELNOTES: -- MOS_MIGRATED_REVID=131681005
* Remove entries' Unix timestamp extra fields when --normalize is present.Gravatar Sasha Smundak2016-08-30
| | | | | | | RELNOTES: -- MOS_MIGRATED_REVID=131607358
* If there are zero bytes to compress, TransientBytes::CompressOut should ↵Gravatar Sasha Smundak2016-08-29
| | | | | | | | | return Z_NO_COMPRESSION immediately. RELNOTES: -- MOS_MIGRATED_REVID=131566325
* When --exclude_build_data option is present, build-data.properties file ↵Gravatar Sasha Smundak2016-08-26
| | | | | | | | | should be copied from the first source archive containing it. RELNOTES: -- MOS_MIGRATED_REVID=131383175
* Add a class to handle Unix timestamp extra field. Gravatar Sasha Smundak2016-08-26
| | | | | | | RELNOTES: -- MOS_MIGRATED_REVID=131379300
* BUILD files changes for commit 0943498edc05ada655cc2862a644071e503dd034.Gravatar Sasha Smundak2016-08-24
| | | | | | | RELNOTES: -- MOS_MIGRATED_REVID=131164513
* Generate Zip64 End Of Central Directory record if the output archive is >4G ↵Gravatar Sasha Smundak2016-08-23
| | | | | | | | | or has >64K entries. RELNOTES: -- MOS_MIGRATED_REVID=131069270
* Fix empty archive handling.Gravatar Sasha Smundak2016-08-23
| | | | | | | RELNOTES: -- MOS_MIGRATED_REVID=131046379
* Fixes ci breakage in sandbox for //src/tools/singlejar:stored_jarGravatar Yue Gan2016-08-22
| | | | | -- MOS_MIGRATED_REVID=130936320
* The value of the --resources flag is <PATH>:<NAME>, not <NAME>:<PATH>Gravatar Sasha Smundak2016-08-19
| | | | | -- MOS_MIGRATED_REVID=130725849
* Implement --compression and --dont_change_compression.Gravatar Sasha Smundak2016-08-18
| | | | | -- MOS_MIGRATED_REVID=130541462
* Preparation for enabling --compression/--dont_change_compression options:Gravatar Sasha Smundak2016-08-17
| | | | | | | Allow combiners to copy the payload out instead of compressing it. -- MOS_MIGRATED_REVID=130419840
* Test for META-INF/services/* and META-INF/spring.handlers and ↵Gravatar Sasha Smundak2016-08-17
| | | | | | | META-INF/spring.schemas. -- MOS_MIGRATED_REVID=130414929
* Implement --normalize option. Refactor file writing code in OutputJar. ↵Gravatar Sasha Smundak2016-08-16
| | | | | | | Refactor test file preparation code in OutputJarSimpleTest. -- MOS_MIGRATED_REVID=130148073
* Add CreateTextFile to test_util.Gravatar Sasha Smundak2016-08-16
| | | | | -- MOS_MIGRATED_REVID=130084544
* Implement --include_prefixes.Gravatar Sasha Smundak2016-08-16
| | | | | -- MOS_MIGRATED_REVID=130083166
* Provide ExtraCombiner method.Gravatar Sasha Smundak2016-08-11
| | | | | -- MOS_MIGRATED_REVID=129870872
* Combiners overhaul: introduce Combiner interface common to all combiners, ↵Gravatar Sasha Smundak2016-08-10
| | | | | | | use it instead of switch statement in output_jar. Move implementations to combiners.cc -- MOS_MIGRATED_REVID=129763019
* Refactor tests by moving common utilities to test_utils.{h,cc} andGravatar Sasha Smundak2016-08-09
| | | | | | | | | | | | removing unused test case classes. Also includes the following changes: Fixes images for design doc "Beautiful Error Messages". -- MOS_MIGRATED_REVID=129725896
* Initial checkin of the OutputJar and main.Gravatar Sasha Smundak2016-08-08
| | | | | -- MOS_MIGRATED_REVID=129473820
* Use std::string instead of const char* in InputJar::Open and MappedFile::Open.Gravatar Sasha Smundak2016-08-04
| | | | | | | Move not performance-critical code to the input_jar.cc. -- MOS_MIGRATED_REVID=129329869
* Handle archives with preamble.Gravatar Sasha Smundak2016-08-04
| | | | | -- MOS_MIGRATED_REVID=129228122
* Add TestUtil::RunCommand.Gravatar Sasha Smundak2016-08-03
| | | | | -- MOS_MIGRATED_REVID=129106911
* Move streaming operator to the test file.Gravatar Sasha Smundak2016-08-01
| | | | | -- MOS_MIGRATED_REVID=128962908
* Fix Options::ParseCommandLine signature.Gravatar Sasha Smundak2016-07-29
| | | | | | | | | | | | | | Otherwise the following code: int main(int argc, char *argv[]) { options.ParseCommandLine(argc-11, argv+1); ... } does not compile ("cannot convert from ‘char**’ to ‘const char**’") -- MOS_MIGRATED_REVID=128803427
* Initial checkin of the combiner classes.Gravatar Sasha Smundak2016-07-28
| | | | | -- MOS_MIGRATED_REVID=128597707
* Cleanup: use file_name_string method in tests.Gravatar Sasha Smundak2016-07-27
| | | | | -- MOS_MIGRATED_REVID=128565586
* Add the method to set zip64 extension attribute. Eliminate useless test caseGravatar Sasha Smundak2016-07-26
| | | | | | | class in zip_headers_test. -- MOS_MIGRATED_REVID=128444529
* Set ↵Gravatar Damien Martin-Guillerez2016-07-25
| | | | | | | | | | | | | //src/tools/singlejar:{transient_bytes_test,input_jar_scan_{zip,jar}tool_test} to manual Those test are timing out on ci.bazel.io. See #1555 -- Change-Id: I7599b2c264a57ce2c327e457e3dadc767b3d1aea Reviewed-on: https://bazel-review.googlesource.com/#/c/4153/ MOS_MIGRATED_REVID=128342041
* Fix extra_fields handling in zip_header.h, add several missing methods and ↵Gravatar Sasha Smundak2016-07-25
| | | | | | | add zip_headers_test. -- MOS_MIGRATED_REVID=128331080
* Minor editorial changes:Gravatar Sasha Smundak2016-07-22
| | | | | | | Do not include err.h in token_stream.h, it is pulled in by diag.h. -- MOS_MIGRATED_REVID=128151081
* Command line options processing.Gravatar Sasha Smundak2016-07-20
| | | | | -- MOS_MIGRATED_REVID=127924233
* Add transient_bytes.h and test for it.Gravatar Sasha Smundak2016-07-20
| | | | | -- MOS_MIGRATED_REVID=127863019
* Command file tokenizer. Mimics the behavior of theGravatar Sasha Smundak2016-07-19
| | | | | | | com.google.devtools.build.lib.shell.ShellUtils class. -- MOS_MIGRATED_REVID=127846401
* Refactor test utilities.Gravatar Sasha Smundak2016-07-18
| | | | | -- MOS_MIGRATED_REVID=127569037
* C++ reimplementation of singlejar tool: first checkin, take two: fix the ↵Gravatar Sasha Smundak2016-07-18
| | | | | | | | | | | | | | | | | | | problem that caused the rollback. *** Original change description *** Automated [] rollback of commit f667aa54f4fcc2c04182de9bc267a7ee469f6445. *** Reason for rollback *** Breaks CI, see, e.g., http://ci.bazel.io/job/bazel-tests/BAZEL_VERSION=HEAD,PLATFORM_NAME=ubuntu_15.10-x86_64/92/console *** Original change description *** C++ reimplementation of singlejar tool: first checkin. -- MOS_MIGRATED_REVID=127554239
* Rollback of commit f667aa54f4fcc2c04182de9bc267a7ee469f6445.Gravatar Klaus Aehlig2016-07-04
| | | | | | | | | | | | | *** Reason for rollback *** Breaks CI, see, e.g., http://ci.bazel.io/job/bazel-tests/BAZEL_VERSION=HEAD,PLATFORM_NAME=ubuntu_15.10-x86_64/92/console *** Original change description *** C++ reimplementation of singlejar tool: first checkin. -- MOS_MIGRATED_REVID=126565472
* C++ reimplementation of singlejar tool: first checkin.Gravatar Sasha Smundak2016-07-01
-- MOS_MIGRATED_REVID=126354275