Repositorio del curso CCOM4030 el semestre B91 del proyecto Artesanías con el Instituto de Cultura

clean.js 1.7KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /**
  2. * Licensed to the Apache Software Foundation (ASF) under one
  3. * or more contributor license agreements. See the NOTICE file
  4. * distributed with this work for additional information
  5. * regarding copyright ownership. The ASF licenses this file
  6. * to you under the Apache License, Version 2.0 (the
  7. * "License"); you may not use this file except in compliance
  8. * with the License. You may obtain a copy of the License at
  9. *
  10. * http://www.apache.org/licenses/LICENSE-2.0
  11. *
  12. * Unless required by applicable law or agreed to in writing,
  13. * software distributed under the License is distributed on an
  14. * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  15. * KIND, either express or implied. See the License for the
  16. * specific language governing permissions and limitations
  17. * under the License.
  18. */
  19. const path = require('path');
  20. const fs = require('fs-extra');
  21. const {
  22. CordovaError,
  23. superspawn: { spawn }
  24. } = require('cordova-common');
  25. const projectPath = path.join(__dirname, '..', '..');
  26. module.exports.run = () => {
  27. const projectName = fs.readdirSync(projectPath).filter(name => path.extname(name) === '.xcodeproj');
  28. if (!projectName) {
  29. return Promise.reject(new CordovaError(`No Xcode project found in ${projectPath}`));
  30. }
  31. const xcodebuildClean = configName => {
  32. return spawn(
  33. 'xcodebuild',
  34. ['-project', projectName, '-configuration', configName, '-alltargets', 'clean'],
  35. { cwd: projectPath, printCommand: true, stdio: 'inherit' }
  36. );
  37. };
  38. return xcodebuildClean('Debug')
  39. .then(() => xcodebuildClean('Release'))
  40. .then(() => fs.removeSync(path.join(projectPath, 'build')));
  41. };