Applying Python To Modify Java Code
Join the DZone community and get the full member experience.
Join For FreePython script intended to open each Java's project file, add the license term on the start of the file as a Java comment and writing it to the disk.
1) You'll need a Python interpreter. Check this out in http://python.org.
2) You'll need to enter the root file directory of the Java project, like python AddLicense.py ${path}
where ${path} defines user project root directory.
3) See http://fcmanager.wiki.sourceforge.net
1:# Python script to add the LGPL notices to each java file of the FileContentManager project.
2:import os, glob, sys
3:License = """\
4:/**
5:*FileContentManager is a Java based file manager desktop application,
6:*it can show, edit and manipulate the content of the files archived inside a zip.
7:*
8:*Copyright (C) 2008
9:*
10:*Created by Camila Sanchez [http://mimix.wordpress.com/], Rafael Naufal [http://rnaufal.livejournal.com]
11:and Rodrigo [rdomartins@gmail.com]
12:*
13:*FileContentManager is free software; you can redistribute it and/or
14:*modify it under the terms of the GNU Lesser General Public
15:*License as published by the Free Software Foundation; either
16:*version 2.1 of the License, or (at your option) any later version.
17:*
18:*This library is distributed in the hope that it will be useful,
19:*but WITHOUT ANY WARRANTY; without even the implied warranty of
20:*MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
21:*Lesser General Public License for more details.
22:*
23:*You should have received a copy of the GNU Lesser General Public
24:*License along with FileContentManager; if not, write to the Free Software
25:*Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA """
26:
27:size = len(sys.argv)
28:if size == 1 or size > 2:
29: print "Usage: AddLicense.py $1"
30: sys.exit(1)
31:inputPath = sys.argv[1]
32:if not os.path.exists(inputPath):
33: print inputPath, "does not exist on disk"
34: sys.exit(1)
35:if not os.path.isdir(inputPath):
36: print inputPath, "isn't a dir"
37: sys.exit(1)
38:for path, dirs, files in os.walk(inputPath):
39: fileWithLicense = ''
40: for filepath in [ os.path.join(path, f)
41: for f in files if f.endswith(".java")]:
42: content = file(filepath).read()
43: f = file(filepath, "w")
44: print >>f, License + "\n" + content
45: f.close()
46:
47:
Python (language)
Java (programming language)
Opinions expressed by DZone contributors are their own.
Comments