Show More
@@ -74,10 +74,6 b' from setupbase import (' | |||||
74 | check_package_data_first, |
|
74 | check_package_data_first, | |
75 | find_data_files, |
|
75 | find_data_files, | |
76 | git_prebuild, |
|
76 | git_prebuild, | |
77 | install_symlinked, |
|
|||
78 | install_lib_symlink, |
|
|||
79 | install_scripts_for_symlink, |
|
|||
80 | unsymlink, |
|
|||
81 | ) |
|
77 | ) | |
82 |
|
78 | |||
83 | #------------------------------------------------------------------------------- |
|
79 | #------------------------------------------------------------------------------- | |
@@ -135,10 +131,6 b" setup_args['cmdclass'] = {" | |||||
135 | 'build_py': \ |
|
131 | 'build_py': \ | |
136 | check_package_data_first(git_prebuild('IPython')), |
|
132 | check_package_data_first(git_prebuild('IPython')), | |
137 | 'sdist' : git_prebuild('IPython', sdist), |
|
133 | 'sdist' : git_prebuild('IPython', sdist), | |
138 | 'symlink': install_symlinked, |
|
|||
139 | 'install_lib_symlink': install_lib_symlink, |
|
|||
140 | 'install_scripts_sym': install_scripts_for_symlink, |
|
|||
141 | 'unsymlink': unsymlink, |
|
|||
142 | } |
|
134 | } | |
143 |
|
135 | |||
144 | setup_args["entry_points"] = { |
|
136 | setup_args["entry_points"] = { |
@@ -220,74 +220,10 b' def find_entry_points():' | |||||
220 | major_suffix = str(sys.version_info[0]) |
|
220 | major_suffix = str(sys.version_info[0]) | |
221 | return [e % "" for e in ep] + [e % major_suffix for e in ep] |
|
221 | return [e % "" for e in ep] + [e % major_suffix for e in ep] | |
222 |
|
222 | |||
223 |
|
||||
224 | class install_lib_symlink(Command): |
|
|||
225 | user_options = [ |
|
|||
226 | ('install-dir=', 'd', "directory to install to"), |
|
|||
227 | ] |
|
|||
228 |
|
||||
229 | def initialize_options(self): |
|
|||
230 | self.install_dir = None |
|
|||
231 |
|
||||
232 | def finalize_options(self): |
|
|||
233 | self.set_undefined_options('symlink', |
|
|||
234 | ('install_lib', 'install_dir'), |
|
|||
235 | ) |
|
|||
236 |
|
||||
237 | def run(self): |
|
|||
238 | if sys.platform == 'win32': |
|
|||
239 | raise Exception("This doesn't work on Windows.") |
|
|||
240 | pkg = os.path.join(os.getcwd(), 'IPython') |
|
|||
241 | dest = os.path.join(self.install_dir, 'IPython') |
|
|||
242 | if os.path.islink(dest): |
|
|||
243 | print('removing existing symlink at %s' % dest) |
|
|||
244 | os.unlink(dest) |
|
|||
245 | print('symlinking %s -> %s' % (pkg, dest)) |
|
|||
246 | os.symlink(pkg, dest) |
|
|||
247 |
|
||||
248 | class unsymlink(install): |
|
|||
249 | def run(self): |
|
|||
250 | dest = os.path.join(self.install_lib, 'IPython') |
|
|||
251 | if os.path.islink(dest): |
|
|||
252 | print('removing symlink at %s' % dest) |
|
|||
253 | os.unlink(dest) |
|
|||
254 | else: |
|
|||
255 | print('No symlink exists at %s' % dest) |
|
|||
256 |
|
||||
257 | class install_symlinked(install): |
|
|||
258 | def run(self): |
|
|||
259 | if sys.platform == 'win32': |
|
|||
260 | raise Exception("This doesn't work on Windows.") |
|
|||
261 |
|
||||
262 | # Run all sub-commands (at least those that need to be run) |
|
|||
263 | for cmd_name in self.get_sub_commands(): |
|
|||
264 | self.run_command(cmd_name) |
|
|||
265 |
|
||||
266 | # 'sub_commands': a list of commands this command might have to run to |
|
|||
267 | # get its work done. See cmd.py for more info. |
|
|||
268 | sub_commands = [('install_lib_symlink', lambda self:True), |
|
|||
269 | ('install_scripts_sym', lambda self:True), |
|
|||
270 | ] |
|
|||
271 |
|
||||
272 | class install_scripts_for_symlink(install_scripts): |
|
|||
273 | """Redefined to get options from 'symlink' instead of 'install'. |
|
|||
274 |
|
||||
275 | I love distutils almost as much as I love setuptools. |
|
|||
276 | """ |
|
|||
277 | def finalize_options(self): |
|
|||
278 | self.set_undefined_options('build', ('build_scripts', 'build_dir')) |
|
|||
279 | self.set_undefined_options('symlink', |
|
|||
280 | ('install_scripts', 'install_dir'), |
|
|||
281 | ('force', 'force'), |
|
|||
282 | ('skip_build', 'skip_build'), |
|
|||
283 | ) |
|
|||
284 |
|
||||
285 |
|
||||
286 | #--------------------------------------------------------------------------- |
|
223 | #--------------------------------------------------------------------------- | |
287 | # VCS related |
|
224 | # VCS related | |
288 | #--------------------------------------------------------------------------- |
|
225 | #--------------------------------------------------------------------------- | |
289 |
|
226 | |||
290 |
|
||||
291 | def git_prebuild(pkg_dir, build_cmd=build_py): |
|
227 | def git_prebuild(pkg_dir, build_cmd=build_py): | |
292 | """Return extended build or sdist command class for recording commit |
|
228 | """Return extended build or sdist command class for recording commit | |
293 |
|
229 |
General Comments 0
You need to be logged in to leave comments.
Login now