This project is read-only.
Solution Shipper Quick Start

1. Open the Solution Shipper Visual Studio solution and set the Solution Shipper project as the Start Up project (might be needed).

2. Enter the name of your shipment (this is typically the name of your solution).

3. Browse for the Source Folder Path - the path of the solution you want to ship.

4. Browse for the Output Folder Path - the path your project will be copied to.
I created a Transport directory in my Projects folder, and then I created a folder for each project I want to ship. WIth the 'Add Timestamp' feature, multiple copies of your shipments can be stored in the Transports folder.

5. By default all the options are selected for Delete Bin Folder, Delete Obj Folder and Delete Packages folder and Add Timestamp.

At this point you have enough information to save your shipment, or to actually ship your solution.

Save Shipment
This will create an Xml file that contains your shipment options, source and output folders and any ignore folders and ignore folder exceptions (explained in the next section). Your Shipment will be saved with the name you give plus a .shp extension. The files are saved in the AppData folder as shown here:

(my location)

C:\Users\Corby\AppData\Local\Data Juggler\Solution Shipper\Shipments

Open Shipment
Saved shipments can be opened and edited or used to ship again. When viewing the list of saved Shipments, if you select a shipment and hit the Delete key, the Xml file for the selected shipment will be deleted.

Ship
Shipping your project will show a progress bar. The maximum for the progress bar is set to the number of files in the Source Folder Path. Since many folders are skipped, the number of files will be lower for the shipped project, so the program will end before the progress bar completes.

Reduction Status
A very crude display of the number of source folders, source files and the size as well as the number of output folders, files and size. I am using the values a FileInfo object returns as the size in bytes for each file. The numbers look about right, but I make no claims that they are accurate..

Ignore Folders
I wanted to make this program simple to use, yet make it powerful. Ignore Folders and Ignore Folder Exceptions are used to specify exactly which folders are copied, and how their contents are copied.

Adding a Folder Without Content

Click the Add button to add an Ignore Folder. This will launch a Folder Browser Dialog. By default the folder you add here will not be copied with your shipment. If you want to add the folder, but not add the contents, create an Exception of type Do Not Add Any Content.

Do Not Add Matching Extensions

This is probably the most useful of the Ignore Folder Exceptions. Select the Exception Type 'Do Not Add Matching Extensions' and then set the text to the extension you want to exclude.

Example: .pdf

Omitting Multiple Extensions

You can add several extensions to an Exception by adding a comma or a semicolon delimiter:

Example: .pdf,.xlsx

I use this exception in my current work project on a few folders to not copy PDF files.

Do Not Add Matching Names

I am not sure how useful this is or not, but if you want file level ability to exclude files you can do that with this exception. Set the name and the text of the exception to the file you do not want copied.

Add Matching Extensions

This is the opposite of the Do Not Add Matching Extensions. With this type of exception you can specify which extensions can be copied. To only copy .png files for a folder, you would set the Exception Type to Add Matching Extensions and the text to .png

Add Matching File Names

This will only add the files you specify the name. Enter the name and set the texte to the name of the file you want copied.

You can add multiple exceptions to one folder; each exception executes separately and tries to add items if possible. If you choose an option of Do Not Copy The Folder or Do Not Copy Any Content, the folder or content is skipped and other exceptions will not process.

I didn't want to over complicate it, I think it is pretty simple yet useful.

Let me know what you think or ways to improve it.

As with all open source projects, if you are not happy you get triple your money back!

Corby

Last edited Oct 31, 2016 at 1:50 PM by Corby, version 4