chemistry-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From f...@apache.org
Subject svn commit: r1743705 - in /chemistry/portcmis/trunk: ./ PortCMIS/ PortCMIS/client/ PortCMISWin/
Date Fri, 13 May 2016 17:00:42 GMT
Author: fmui
Date: Fri May 13 17:00:41 2016
New Revision: 1743705

URL: http://svn.apache.org/viewvc?rev=1743705&view=rev
Log:
PortCMIS: release preparation

Modified:
    chemistry/portcmis/trunk/NOTICE
    chemistry/portcmis/trunk/PortCMIS/build.bat
    chemistry/portcmis/trunk/PortCMIS/client/ClientImpl.cs
    chemistry/portcmis/trunk/PortCMIS/client/ClientIntf.cs
    chemistry/portcmis/trunk/PortCMIS/client/ClientObjectFactory.cs
    chemistry/portcmis/trunk/PortCMIS/client/ClientObjects.cs
    chemistry/portcmis/trunk/PortCMIS/client/ClientUtils.cs
    chemistry/portcmis/trunk/PortCMISWin/build.bat
    chemistry/portcmis/trunk/README
    chemistry/portcmis/trunk/release.bat

Modified: chemistry/portcmis/trunk/NOTICE
URL: http://svn.apache.org/viewvc/chemistry/portcmis/trunk/NOTICE?rev=1743705&r1=1743704&r2=1743705&view=diff
==============================================================================
--- chemistry/portcmis/trunk/NOTICE (original)
+++ chemistry/portcmis/trunk/NOTICE Fri May 13 17:00:41 2016
@@ -1,2 +1,2 @@
 Apache Chemistry PortCMIS
-Copyright 2015 The Apache Software Foundation
\ No newline at end of file
+Copyright 2016 The Apache Software Foundation
\ No newline at end of file

Modified: chemistry/portcmis/trunk/PortCMIS/build.bat
URL: http://svn.apache.org/viewvc/chemistry/portcmis/trunk/PortCMIS/build.bat?rev=1743705&r1=1743704&r2=1743705&view=diff
==============================================================================
--- chemistry/portcmis/trunk/PortCMIS/build.bat (original)
+++ chemistry/portcmis/trunk/PortCMIS/build.bat Fri May 13 17:00:41 2016
@@ -21,6 +21,7 @@ rem under the License.
 echo Removing old DLLs
 rmdir /Q /S bin
 rmdir /Q /S obj
+rmdir /Q /S nupkg
 
 echo Building Debug DLL...
 msbuild PortCMIS.csproj /ToolsVersion:4.0 /p:Configuration=Debug
@@ -28,7 +29,8 @@ msbuild PortCMIS.csproj /ToolsVersion:4.
 echo Building Release DLL...
 msbuild PortCMIS.csproj /ToolsVersion:4.0 /p:Configuration=Release
 
-nuget pack
+mkdir nupkg
+nuget pack -o nupkg
 
 rem echo Building documentation...
 rem msbuild PortCMIS.shfbproj /ToolsVersion:4.0 /p:Configuration=Release
\ No newline at end of file

Modified: chemistry/portcmis/trunk/PortCMIS/client/ClientImpl.cs
URL: http://svn.apache.org/viewvc/chemistry/portcmis/trunk/PortCMIS/client/ClientImpl.cs?rev=1743705&r1=1743704&r2=1743705&view=diff
==============================================================================
--- chemistry/portcmis/trunk/PortCMIS/client/ClientImpl.cs (original)
+++ chemistry/portcmis/trunk/PortCMIS/client/ClientImpl.cs Fri May 13 17:00:41 2016
@@ -509,6 +509,33 @@ namespace PortCMIS.Client.Impl
             return result;
         }
 
+        /// <inheritdoc/>
+        public IObjectType CreateType(ITypeDefinition type)
+        {
+            CheckCmisVersion();
+
+            ITypeDefinition newType = Binding.GetRepositoryService().CreateType(RepositoryId,
type, null);
+            return ObjectFactory.ConvertTypeDefinition(newType);
+        }
+
+        /// <inheritdoc/>
+        public IObjectType UpdateType(ITypeDefinition type)
+        {
+            CheckCmisVersion();
+
+            ITypeDefinition updatedType = Binding.GetRepositoryService().UpdateType(RepositoryId,
type, null);
+            return ObjectFactory.ConvertTypeDefinition(updatedType);
+        }
+
+        /// <inheritdoc/>
+        public void DeleteType(string typeId)
+        {
+            CheckCmisVersion();
+
+            Binding.GetRepositoryService().DeleteType(RepositoryId, typeId, null);
+        }
+
+
         // navigation
 
         /// <inheritdoc/>
@@ -1083,10 +1110,7 @@ namespace PortCMIS.Client.Impl
         public IObjectId CreateDocument(IDictionary<string, object> properties, IObjectId
folderId, IContentStream contentStream,
             VersioningState? versioningState, IList<IPolicy> policies, IList<IAce>
addAces, IList<IAce> removeAces)
         {
-            if (properties == null || properties.Count == 0)
-            {
-                throw new ArgumentException("Properties must not be empty!");
-            }
+            CheckProperties(properties);
 
             string newId = Binding.GetObjectService().CreateDocument(RepositoryId, ObjectFactory.ConvertProperties(properties,
null, null,
                 (versioningState == VersioningState.CheckedOut ? CreateAndCheckoutUpdatability
: CreateUpdatability)),
@@ -1157,10 +1181,7 @@ namespace PortCMIS.Client.Impl
             {
                 throw new ArgumentException("Folder ID must be set!");
             }
-            if (properties == null || properties.Count == 0)
-            {
-                throw new ArgumentException("Properties must not be empty!");
-            }
+            CheckProperties(properties);
 
             string newId = Binding.GetObjectService().CreateFolder(RepositoryId, ObjectFactory.ConvertProperties(properties,
null, null, CreateUpdatability),
                 (folderId == null ? null : folderId.Id), ObjectFactory.ConvertPolicies(policies),
ObjectFactory.ConvertAces(addAces),
@@ -1179,10 +1200,7 @@ namespace PortCMIS.Client.Impl
         public IObjectId CreatePolicy(IDictionary<string, object> properties, IObjectId
folderId, IList<IPolicy> policies,
             IList<IAce> addAces, IList<IAce> removeAces)
         {
-            if (properties == null || properties.Count == 0)
-            {
-                throw new ArgumentException("Properties must not be empty!");
-            }
+            CheckProperties(properties);
 
             string newId = Binding.GetObjectService().CreatePolicy(RepositoryId, ObjectFactory.ConvertProperties(properties,
null, null, CreateUpdatability),
                 (folderId == null ? null : folderId.Id), ObjectFactory.ConvertPolicies(policies),
ObjectFactory.ConvertAces(addAces),
@@ -1201,10 +1219,7 @@ namespace PortCMIS.Client.Impl
         public IObjectId CreateItem(IDictionary<string, object> properties, IObjectId
folderId, IList<IPolicy> policies, IList<IAce> addAces,
                 IList<IAce> removeAces)
         {
-            if (properties == null || properties.Count == 0)
-            {
-                throw new ArgumentException("Properties must not be empty!");
-            }
+            CheckProperties(properties);
 
             string newId = Binding.GetObjectService().CreateItem(RepositoryId, ObjectFactory.ConvertProperties(properties,
null, null, CreateUpdatability),
                 (folderId == null ? null : folderId.Id), ObjectFactory.ConvertPolicies(policies),
ObjectFactory.ConvertAces(addAces),
@@ -1223,10 +1238,7 @@ namespace PortCMIS.Client.Impl
         public IObjectId CreateRelationship(IDictionary<string, object> properties,
IList<IPolicy> policies, IList<IAce> addAces,
                 IList<IAce> removeAces)
         {
-            if (properties == null || properties.Count == 0)
-            {
-                throw new ArgumentException("Properties must not be empty!");
-            }
+            CheckProperties(properties);
 
             string newId = Binding.GetObjectService().CreateRelationship(RepositoryId, ObjectFactory.ConvertProperties(properties,
null, null, CreateUpdatability),
                 ObjectFactory.ConvertPolicies(policies), ObjectFactory.ConvertAces(addAces),
ObjectFactory.ConvertAces(removeAces), null);
@@ -1282,6 +1294,66 @@ namespace PortCMIS.Client.Impl
             return new CollectionEnumerable<IRelationship>(new PageFetcher<IRelationship>(DefaultContext.MaxItemsPerPage,
fetchPageDelegate));
         }
 
+        /// <inheritdoc/>
+        public IList<IBulkUpdateObjectIdAndChangeToken> BulkUpdateProperties(IList<ICmisObject>
objects,
+            IDictionary<string, object> properties, IList<string> addSecondaryTypeIds,
IList<string> removeSecondaryTypeIds)
+        {
+            CheckCmisVersion();
+            CheckProperties(properties);
+
+            IObjectType objectType = null;
+            IDictionary<string, ISecondaryType> secondaryTypes = new Dictionary<string,
ISecondaryType>();
+
+            // gather secondary types
+            if (addSecondaryTypeIds != null)
+            {
+                foreach (string stid in addSecondaryTypeIds)
+                {
+                    IObjectType secondaryType = GetTypeDefinition(stid);
+
+                    if (!(secondaryType is ISecondaryType))
+                    {
+                        throw new ArgumentException("Secondary types contains a type that
is not a secondary type: "
+                                + secondaryType.Id, "addSecondaryTypeIds");
+                    }
+
+                    secondaryTypes[secondaryType.Id] = (ISecondaryType)secondaryType;
+                }
+            }
+
+            // gather IDs and change tokens
+            IList<IBulkUpdateObjectIdAndChangeToken> objectIdsAndChangeTokens = new
List<IBulkUpdateObjectIdAndChangeToken>();
+            foreach (ICmisObject obj in objects)
+            {
+                if (obj == null)
+                {
+                    continue;
+                }
+
+                objectIdsAndChangeTokens.Add(new BulkUpdateObjectIdAndChangeToken() { Id
= obj.Id, ChangeToken = obj.ChangeToken });
+
+                if (objectType == null)
+                {
+                    objectType = obj.ObjectType;
+                }
+
+                if (obj.SecondaryTypes != null)
+                {
+                    foreach (ISecondaryType secondaryType in obj.SecondaryTypes)
+                    {
+                        secondaryTypes[secondaryType.Id] = secondaryType;
+                    }
+                }
+            }
+
+            ISet<Updatability> updatebility = new HashSet<Updatability>();
+            updatebility.Add(Updatability.ReadWrite);
+
+            return Binding.GetObjectService().BulkUpdateProperties(RepositoryId, objectIdsAndChangeTokens,
+                    ObjectFactory.ConvertProperties(properties, objectType, secondaryTypes.Values,
updatebility),
+                    addSecondaryTypeIds, removeSecondaryTypeIds, null);
+        }
+
         // delete
 
         /// <inheritdoc/>
@@ -1448,6 +1520,28 @@ namespace PortCMIS.Client.Impl
                 throw new ArgumentException("Path must start with a '/'!");
             }
         }
+
+        /// <summary>
+        /// Checks if the CMIS version of this repository is 1.1.
+        /// </summary>
+        protected void CheckCmisVersion()
+        {
+            if (RepositoryInfo.CmisVersion == CmisVersion.Cmis_1_0)
+            {
+                throw new CmisNotSupportedException("This method is not supported for CMIS
1.0 repositories.");
+            }
+        }
+
+        /// <summary>
+        /// Checks if properties are set.
+        /// </summary>
+        protected void CheckProperties(IDictionary<string, object> properties)
+        {
+            if (properties == null || properties.Count == 0)
+            {
+                throw new ArgumentException("Properties must not be empty!");
+            }
+        }
     }
 
     internal class QueryStatement : IQueryStatement

Modified: chemistry/portcmis/trunk/PortCMIS/client/ClientIntf.cs
URL: http://svn.apache.org/viewvc/chemistry/portcmis/trunk/PortCMIS/client/ClientIntf.cs?rev=1743705&r1=1743704&r2=1743705&view=diff
==============================================================================
--- chemistry/portcmis/trunk/PortCMIS/client/ClientIntf.cs (original)
+++ chemistry/portcmis/trunk/PortCMIS/client/ClientIntf.cs Fri May 13 17:00:41 2016
@@ -203,6 +203,26 @@ namespace PortCMIS.Client
         /// <returns>the tree of types</returns>
         IList<ITree<IObjectType>> GetTypeDescendants(string typeId, int depth,
bool includePropertyDefinitions);
 
+        /// <summary>
+        /// Creates a new object type.
+        /// </summary>
+        /// <param name="type">the type definition</param>
+        /// <returns>the newly created type</returns>
+        IObjectType CreateType(ITypeDefinition type);
+
+        /// <summary>
+        /// Updates an object type.
+        /// </summary>
+        /// <param name="type">the updated type definition</param>
+        /// <returns>the updated type</returns>
+        IObjectType UpdateType(ITypeDefinition type);
+
+        /// <summary>
+        /// Deletes a type.
+        /// </summary>
+        /// <param name="typeId">the type ID</param>
+        void DeleteType(string typeId);
+
         // navigation
 
         /// <summary>
@@ -618,6 +638,17 @@ namespace PortCMIS.Client
                 RelationshipDirection? relationshipDirection, IObjectType type, IOperationContext
context);
 
         /// <summary>
+        /// Updates multiple objects in one request.
+        /// </summary>
+        /// <param name="objects">the objects</param>
+        /// <param name="properties">updated property values</param>
+        /// <param name="addSecondaryTypeIds">secondary types to add</param>
+        /// <param name="removeSecondaryTypeIds">secondary types to remove</param>
+        /// <returns></returns>
+        IList<IBulkUpdateObjectIdAndChangeToken> BulkUpdateProperties(IList<ICmisObject>
objects,
+            IDictionary<string, object> properties, IList<string> addSecondaryTypeIds,
IList<string> removeSecondaryTypeIds);
+
+        /// <summary>
         /// Deletes an object and, if it is a document, all versions in the version series.
         /// </summary>
         /// <param name="objectId">the ID of the object</param>
@@ -775,12 +806,12 @@ namespace PortCMIS.Client
         /// <summary>
         /// Converts properties.
         /// </summary>
-        IDictionary<string, IProperty> ConvertProperties(IObjectType objectType, IList<ISecondaryType>
secondaryTypes, IProperties properties);
+        IDictionary<string, IProperty> ConvertProperties(IObjectType objectType, ICollection<ISecondaryType>
secondaryTypes, IProperties properties);
 
         /// <summary>
         /// Converts properties.
         /// </summary>
-        IProperties ConvertProperties(IDictionary<string, object> properties, IObjectType
type, IList<ISecondaryType> secondaryTypes, HashSet<Updatability> updatabilityFilter);
+        IProperties ConvertProperties(IDictionary<string, object> properties, IObjectType
type, ICollection<ISecondaryType> secondaryTypes, ISet<Updatability> updatabilityFilter);
 
         /// <summary>
         /// Converts properties from a query result.

Modified: chemistry/portcmis/trunk/PortCMIS/client/ClientObjectFactory.cs
URL: http://svn.apache.org/viewvc/chemistry/portcmis/trunk/PortCMIS/client/ClientObjectFactory.cs?rev=1743705&r1=1743704&r2=1743705&view=diff
==============================================================================
--- chemistry/portcmis/trunk/PortCMIS/client/ClientObjectFactory.cs (original)
+++ chemistry/portcmis/trunk/PortCMIS/client/ClientObjectFactory.cs Fri May 13 17:00:41 2016
@@ -183,7 +183,7 @@ namespace PortCMIS.Client.Impl
         }
 
         /// <inheritdoc/>
-        protected virtual IProperty ConvertProperty(IObjectType objectType, IList<ISecondaryType>
secondaryTypes, IPropertyData pd)
+        protected virtual IProperty ConvertProperty(IObjectType objectType, ICollection<ISecondaryType>
secondaryTypes, IPropertyData pd)
         {
             IPropertyDefinition definition = objectType[pd.Id];
             if (definition == null)
@@ -215,7 +215,7 @@ namespace PortCMIS.Client.Impl
         }
 
         /// <inheritdoc/>
-        public virtual IDictionary<string, IProperty> ConvertProperties(IObjectType
objectType, IList<ISecondaryType> secondaryTypes, IProperties properties)
+        public virtual IDictionary<string, IProperty> ConvertProperties(IObjectType
objectType, ICollection<ISecondaryType> secondaryTypes, IProperties properties)
         {
             if (objectType == null)
             {
@@ -245,7 +245,7 @@ namespace PortCMIS.Client.Impl
         }
 
         /// <inheritdoc/>
-        public virtual IProperties ConvertProperties(IDictionary<string, object> properties,
IObjectType type, IList<ISecondaryType> secondaryTypes, HashSet<Updatability>
updatabilityFilter)
+        public virtual IProperties ConvertProperties(IDictionary<string, object> properties,
IObjectType type, ICollection<ISecondaryType> secondaryTypes, ISet<Updatability>
updatabilityFilter)
         {
             // check input
             if (properties == null)
@@ -272,7 +272,7 @@ namespace PortCMIS.Client.Impl
             }
 
             // get secondary types
-            IList<ISecondaryType> allSecondaryTypes = null;
+            ICollection<ISecondaryType> allSecondaryTypes = null;
             object secondaryTypeIds;
             properties.TryGetValue(PropertyIds.SecondaryObjectTypeIds, out secondaryTypeIds);
             if (secondaryTypeIds is IList<string>)

Modified: chemistry/portcmis/trunk/PortCMIS/client/ClientObjects.cs
URL: http://svn.apache.org/viewvc/chemistry/portcmis/trunk/PortCMIS/client/ClientObjects.cs?rev=1743705&r1=1743704&r2=1743705&view=diff
==============================================================================
--- chemistry/portcmis/trunk/PortCMIS/client/ClientObjects.cs (original)
+++ chemistry/portcmis/trunk/PortCMIS/client/ClientObjects.cs Fri May 13 17:00:41 2016
@@ -962,7 +962,7 @@ namespace PortCMIS.Client.Impl
             {
                 newId = Session.CreateDocumentFromSource(this, properties, targetFolderId,
versioningState, policies, addAces, removeAces);
             }
-            catch (CmisNotSupportedException nse)
+            catch (CmisNotSupportedException)
             {
                 newId = CopyViaClient(targetFolderId, properties, versioningState, policies,
addAces, removeAces);
             }

Modified: chemistry/portcmis/trunk/PortCMIS/client/ClientUtils.cs
URL: http://svn.apache.org/viewvc/chemistry/portcmis/trunk/PortCMIS/client/ClientUtils.cs?rev=1743705&r1=1743704&r2=1743705&view=diff
==============================================================================
--- chemistry/portcmis/trunk/PortCMIS/client/ClientUtils.cs (original)
+++ chemistry/portcmis/trunk/PortCMIS/client/ClientUtils.cs Fri May 13 17:00:41 2016
@@ -591,6 +591,7 @@ namespace PortCMIS.Client
             return this.Equals(obj as ObjectId);
         }
 
+        /// <inheritdoc/>
         public bool Equals(ObjectId oid)
         {
             if (Object.ReferenceEquals(oid, null))
@@ -611,6 +612,7 @@ namespace PortCMIS.Client
             return Id == oid.Id;
         }
 
+        /// <inheritdoc/>
         public static bool operator ==(ObjectId id1, ObjectId id2)
         {
             if (object.ReferenceEquals(id1, null))
@@ -621,6 +623,7 @@ namespace PortCMIS.Client
             return id1.Id == id2.Id;
         }
 
+        /// <inheritdoc/>
         public static bool operator !=(ObjectId id1, ObjectId id2)
         {
             return !(id1 == id2);

Modified: chemistry/portcmis/trunk/PortCMISWin/build.bat
URL: http://svn.apache.org/viewvc/chemistry/portcmis/trunk/PortCMISWin/build.bat?rev=1743705&r1=1743704&r2=1743705&view=diff
==============================================================================
--- chemistry/portcmis/trunk/PortCMISWin/build.bat (original)
+++ chemistry/portcmis/trunk/PortCMISWin/build.bat Fri May 13 17:00:41 2016
@@ -21,6 +21,7 @@ rem under the License.
 echo Removing old DLLs
 rmdir /Q /S bin
 rmdir /Q /S obj
+rmdir /Q /S nupkg
 
 echo Building Debug DLL...
 msbuild PortCMISWin.csproj /ToolsVersion:4.0 /p:Configuration=Debug
@@ -28,7 +29,8 @@ msbuild PortCMISWin.csproj /ToolsVersion
 echo Building Release DLL...
 msbuild PortCMISWin.csproj /ToolsVersion:4.0 /p:Configuration=Release
 
-nuget pack
+mkdir nupkg
+nuget pack -o nupkg
 
 rem echo Building documentation...
 rem msbuild PortCMISWin.shfbproj /ToolsVersion:4.0 /p:Configuration=Release
\ No newline at end of file

Modified: chemistry/portcmis/trunk/README
URL: http://svn.apache.org/viewvc/chemistry/portcmis/trunk/README?rev=1743705&r1=1743704&r2=1743705&view=diff
==============================================================================
--- chemistry/portcmis/trunk/README (original)
+++ chemistry/portcmis/trunk/README Fri May 13 17:00:41 2016
@@ -6,10 +6,54 @@ client library for the .NET framework 4.
 
 See http://chemistry.apache.org/dotnet/portcmis.html for more information.
 
-This release is a bug fix release.
+This release is the initial release.
 If you find a problem, please let us know: https://issues.apache.org/jira/browse/CMIS
 
 
+Libraries
+---------
+
+PortCMIS consists of two libraries: PortCMIS and PortCMISWin.
+
+The PortCMIS library is a Portable Class Library and contains the main code.
+The PortCMISWin library adds support for Windows Runtime APIs, especially the
+Windows.Web.Http.HttpClient. Use it only if you need a specific feature that is
+not available with the System.Net.Http.HttpClient.
+
+
+Use this code to create a session with PortCMIS:
+
+    IDictionary<string, string> parameters = new Dictionary<string, string>()
{
+        {SessionParameter.BindingType , BindingType.Browser},
+        {SessionParameter.BrowserUrl , "http://localhost:8080/inmemory/browser"},
+        {SessionParameter.RepositoryId , "A1"},
+        {SessionParameter.User , "user"},
+        {SessionParameter.Password , "password"}
+    };
+
+    ISessionFactory factory = SessionFactory.NewInstance();
+    ISession session = factory.CreateSession(parameters);
+
+
+Use this code to create a session with PortCMISWin:
+	
+	IDictionary<string, string> parameters = new Dictionary<string, string>() {
+        {SessionParameter.BindingType , BindingType.Browser},
+        {SessionParameter.BrowserUrl , "http://localhost:8080/inmemory/browser"},
+        {SessionParameter.RepositoryId , "A1"},
+        {SessionParameter.User , "user"},
+        {SessionParameter.Password , "password"}
+    };
+
+    ISessionFactory factory = WindowsSessionFactory.NewInstance();
+    ISession session = factory.CreateSession(parameters);
+
+
+Please note that the authentication provider interfaces are different for
+PortCMIS and PortCMISWin. Custom authentication provider implementations have
+to developed for either PortCMIS or PortCMISWin.
+	
+	
 Change log 
 ----------
 

Modified: chemistry/portcmis/trunk/release.bat
URL: http://svn.apache.org/viewvc/chemistry/portcmis/trunk/release.bat?rev=1743705&r1=1743704&r2=1743705&view=diff
==============================================================================
--- chemistry/portcmis/trunk/release.bat (original)
+++ chemistry/portcmis/trunk/release.bat Fri May 13 17:00:41 2016
@@ -25,6 +25,7 @@ rem It requires Cygwin.
 set PORTCMISVERSION=0.1
 set PORTCMISZIPSRC=chemistry-portcmis-%PORTCMISVERSION%-src.zip
 set PORTCMISZIPBIN=chemistry-portcmis-%PORTCMISVERSION%-bin.zip
+set PORTCMISZIPNUPKG=chemistry-portcmis-%PORTCMISVERSION%-nupkg.zip
 set PORTCMISRC=RC1
 
 set CYGWIN=ntea
@@ -33,34 +34,61 @@ echo Building...
 cd PortCMIS
 call build.bat
 cd ..
+cd PortCMISWin
+call build.bat
+cd ..
 
 echo Creating release directories...
 rmdir /S /Q release-src
 mkdir release-src
 rmdir /S /Q release-bin
 mkdir release-bin
+rmdir /S /Q release-nupkg
+mkdir release-nupkg
 
 echo Copying readme, etc...
 copy LICENSE release-src
 copy LICENSE release-bin
+copy LICENSE release-nupkg
 copy NOTICE release-src
 copy NOTICE release-bin
+copy NOTICE release-nupkg
 copy DEPENDENCIES release-src
 copy DEPENDENCIES release-bin
+copy DEPENDENCIES release-nupkg
 copy README release-src
 copy README release-bin
+copy README release-nupkg
 
 echo Copying binaries ...
 copy PortCMIS\bin\Release\PortCMIS.dll release-bin
 copy PortCMIS\doc\PortCMIS.chm release-bin
+copy PortCMISWin\bin\Release\PortCMISWin.dll release-bin
 chmod -R a+rwx release-bin
 
+echo Copying nupkg ...
+xcopy PortCMIS\nupkg\*.nupkg release-nupkg
+xcopy PortCMIS\doc\PortCMIS.chm release-nupkg
+xcopy PortCMISWin\nupkg\*.nupkg release-nupkg
+chmod -R a+rwx release-nupkg
+
 echo Copying source...
 mkdir release-src\src
-xcopy PortCMIS release-src\src /E
-rmdir /S /Q release-src\src\bin
-rmdir /S /Q release-src\src\obj
-rmdir /S /Q release-src\src\doc
+
+mkdir release-src\src\PortCMIS
+xcopy PortCMIS release-src\src\PortCMIS /E
+rmdir /S /Q release-src\src\PortCMIS\bin
+rmdir /S /Q release-src\src\PortCMIS\obj
+rmdir /S /Q release-src\src\PortCMIS\doc
+rmdir /S /Q release-src\src\PortCMIS\nupkg
+
+mkdir release-src\src\PortCMISWin
+xcopy PortCMISWin release-src\src\PortCMISWin /E
+rmdir /S /Q release-src\src\PortCMISWin\bin
+rmdir /S /Q release-src\src\PortCMISWin\obj
+rmdir /S /Q release-src\src\PortCMISWin\doc
+rmdir /S /Q release-src\src\PortCMISWin\nupkg
+
 chmod -R a+rwx release-src
 
 echo Creating release file...
@@ -75,6 +103,10 @@ cd release-bin
 zip -r  ../artifacts/%PORTCMISZIPBIN% *
 cd ..
 
+cd release-nupkg
+zip -r  ../artifacts/%PORTCMISZIPNUPKG% *
+cd ..
+
 echo Signing release file...
 cd artifacts
 
@@ -86,6 +118,10 @@ gpg --armor --output %PORTCMISZIPBIN%.as
 gpg --print-md MD5 %PORTCMISZIPBIN% > %PORTCMISZIPBIN%.md5
 gpg --print-md SHA512 %PORTCMISZIPBIN% > %PORTCMISZIPBIN%.sha
 
+gpg --armor --output %PORTCMISZIPNUPKG%.asc --detach-sig %PORTCMISZIPNUPKG%
+gpg --print-md MD5 %PORTCMISZIPNUPKG% > %PORTCMISZIPNUPKG%.md5
+gpg --print-md SHA512 %PORTCMISZIPNUPKG% > %PORTCMISZIPNUPKG%.sha
+
 cd ..
 
 echo Creating RC tag



Mime
View raw message