예제 #1
0
        internal static void ForWorkspace(
            WorkspaceInfo wkInfo,
            IPlasticAPI plasticApi)
        {
            RepositoryInfo repInfo = null;

            IThreadWaiter waiter = ThreadWaiter.GetWaiter(10);

            waiter.Execute(
                /*threadOperationDelegate*/ delegate
            {
                RepositorySpec repSpec = plasticApi.GetRepositorySpec(wkInfo);

                repInfo = plasticApi.GetRepositoryInfo(repSpec);
            },
                /*afterOperationDelegate*/ delegate
            {
                if (waiter.Exception != null)
                {
                    ExceptionsHandler.LogException(
                        "SetupCloudProjectId",
                        waiter.Exception);
                    return;
                }

                SetupCloudProjectId.ForRepository(repInfo);
            });
        }
예제 #2
0
        static void SetupCloudProjectIdIfNeeded(
            WorkspaceInfo wkInfo,
            IPlasticAPI plasticApi)
        {
            if (SetupCloudProjectId.HasCloudProjectId())
            {
                return;
            }

            SetupCloudProjectId.ForWorkspace(wkInfo, plasticApi);

            mLog.DebugFormat("Setup CloudProjectId on Project: {0}",
                             wkInfo.ClientPath);
        }