Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(469)

Side by Side Diff: editor/tools/plugins/com.google.dart.tools.core/src/com/google/dart/tools/core/pub/PubBuildParticipant.java

Issue 439933005: first incremental cut at editor without packages directories (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: merge Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2012, the Dart project authors. 2 * Copyright (c) 2012, the Dart project authors.
3 * 3 *
4 * Licensed under the Eclipse Public License v1.0 (the "License"); you may not u se this file except 4 * Licensed under the Eclipse Public License v1.0 (the "License"); you may not u se this file except
5 * in compliance with the License. You may obtain a copy of the License at 5 * in compliance with the License. You may obtain a copy of the License at
6 * 6 *
7 * http://www.eclipse.org/legal/epl-v10.html 7 * http://www.eclipse.org/legal/epl-v10.html
8 * 8 *
9 * Unless required by applicable law or agreed to in writing, software distribut ed under the License 9 * Unless required by applicable law or agreed to in writing, software distribut ed under the License
10 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY K IND, either express 10 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY K IND, either express
11 * or implied. See the License for the specific language governing permissions a nd limitations under 11 * or implied. See the License for the specific language governing permissions a nd limitations under
12 * the License. 12 * the License.
13 */ 13 */
14 package com.google.dart.tools.core.pub; 14 package com.google.dart.tools.core.pub;
15 15
16 import com.google.common.annotations.VisibleForTesting; 16 import com.google.common.annotations.VisibleForTesting;
17 import com.google.dart.tools.core.DartCore; 17 import com.google.dart.tools.core.DartCore;
18 import com.google.dart.tools.core.DartCoreDebug;
18 import com.google.dart.tools.core.MessageConsole; 19 import com.google.dart.tools.core.MessageConsole;
19 import com.google.dart.tools.core.analysis.model.PubFolder; 20 import com.google.dart.tools.core.analysis.model.PubFolder;
20 import com.google.dart.tools.core.builder.BuildEvent; 21 import com.google.dart.tools.core.builder.BuildEvent;
21 import com.google.dart.tools.core.builder.BuildParticipant; 22 import com.google.dart.tools.core.builder.BuildParticipant;
22 import com.google.dart.tools.core.builder.BuildVisitor; 23 import com.google.dart.tools.core.builder.BuildVisitor;
23 import com.google.dart.tools.core.builder.CleanEvent; 24 import com.google.dart.tools.core.builder.CleanEvent;
24 import com.google.dart.tools.core.internal.builder.DartBuilder; 25 import com.google.dart.tools.core.internal.builder.DartBuilder;
25 import com.google.dart.tools.core.utilities.yaml.PubYamlUtils; 26 import com.google.dart.tools.core.utilities.yaml.PubYamlUtils;
26 27
27 import org.eclipse.core.resources.IContainer; 28 import org.eclipse.core.resources.IContainer;
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after
221 return; 222 return;
222 } 223 }
223 } 224 }
224 225
225 try { 226 try {
226 // Only run pub automatically if it is not already up to date 227 // Only run pub automatically if it is not already up to date
227 File dir = container.getLocation().toFile(); 228 File dir = container.getLocation().toFile();
228 File pubFile = new File(dir, DartCore.PUBSPEC_FILE_NAME); 229 File pubFile = new File(dir, DartCore.PUBSPEC_FILE_NAME);
229 File lockFile = new File(dir, DartCore.PUBSPEC_LOCK_FILE_NAME); 230 File lockFile = new File(dir, DartCore.PUBSPEC_LOCK_FILE_NAME);
230 File packagesDir = new File(dir, DartCore.PACKAGES_DIRECTORY_NAME); 231 File packagesDir = new File(dir, DartCore.PACKAGES_DIRECTORY_NAME);
231 if (packagesDir.exists() && lockFile.exists() 232 if ((DartCoreDebug.NO_PUB_PACKAGES || packagesDir.exists()) && lockFile.ex ists()
232 && lockFile.lastModified() >= pubFile.lastModified()) { 233 && lockFile.lastModified() >= pubFile.lastModified()) {
233 return; 234 return;
234 } 235 }
235 236
236 // Run pub or notify the user that it needs to be run 237 // Run pub or notify the user that it needs to be run
237 if (DartCore.getPlugin().isAutoRunPubEnabled()) { 238 if (DartCore.getPlugin().isAutoRunPubEnabled()) {
238 new RunPubJob(container, RunPubJob.INSTALL_COMMAND, true).run(monitor); 239 new RunPubJob(container, RunPubJob.INSTALL_COMMAND, true).run(monitor);
239 } else { 240 } else {
240 MessageConsole console = DartCore.getConsole(); 241 MessageConsole console = DartCore.getConsole();
241 console.printSeparator(""); 242 console.printSeparator("");
242 console.println("Run Tools > Pub Get to install packages"); 243 console.println("Run Tools > Pub Get to install packages");
243 } 244 }
244 245
245 } finally { 246 } finally {
246 // Ensure that currentContainers is updated 247 // Ensure that currentContainers is updated
247 synchronized (currentContainers) { 248 synchronized (currentContainers) {
248 currentContainers.remove(container); 249 currentContainers.remove(container);
249 currentContainers.notifyAll(); 250 currentContainers.notifyAll();
250 } 251 }
251 } 252 }
252 } 253 }
253 } 254 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698