Наш проект с открытым исходным кодом, и мне нужно заменить все наши заголовки авторских прав на наши новые лицензии. Проект состоит из около 1500 файлов C++/Obj-C/Java в иерархии вложенных папок.
Заголовок занимает от 1 до 5 строк с различным форматированием, поэтому регулярное выражение не обязательно найдет его во всех них.
Какой подход вы бы выбрали здесь?
Пример:
C++ файл:
/*******************************************************************************
* Copyright 1996: Börk Börk Inc. All Rights
* Reserved. Proprietary and Confidential information of BOBO. Disclosure,
* Use, or Reproduction without written authorization of BOBO is prohibited.
*******************************************************************************/
#ifndef Things_cpp
#define Things_cpp
#include <LibOne.hpp>
#include <LibTwo.hpp>
Namespacington::ClassName::HereBeMethod(void)
{
}
#endif
Java-файл:
package com.bork.bork.boooork;
/*******************************************************
* Copyright 1996: Börk Börk Inc. All Rights Reserved.
* Proprietary and Confidential information of BOBO.
* Disclosure, Use, or Reproduction without written
* authorization of BOBO is prohibited.
*******************************************************
import java.util.List;
/**
* <p>
* Callback interface/protocol for a proxy factory.
* </p>
*/
@SuppressWarnings("all")
public interface ProxyFactorize
{
/**
* <p>
* Do the thing
* </p>
* @param bork Spices
* @param borkbork Condiments
*/
void apply(double bork, double borkbork);
}
Файл Obj-C:
/*******************************************************
* Copyright 1996: Börk Börk Inc.
* All Rights Reserved.
* Proprietary and Confidential information of BOBO.
* Disclosure, Use, or Reproduction without written
* authorization of BOBO is prohibited.
********************************************************/
#import <Bork/Booork.h>
@class Biorjk;
/**
* Bork bork bork booooork
*
* @warning Bork?
*
* @warning Bork
*
*/
@interface Biorjk : Borkburk
@end
Новая лицензия будет применяться ко всем файлам:
/* Copyright 2015 Bork Bork
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License. */