the upgraded-ironpython scenario

>>> I do not think this is supported. The pre-compiled module has much 
>>> dependency on IronPython.dll. Some emitted calls in those modules could be 
>>> changed (or removed) in the next version of IronPython.dll.

 
That makes me itch...  I understand runtime dependencies, but the binaries-only 
deployment scenario just dropped in value if they are completely invalidated 
because the runtime undergoes a minor rev (or is otherwise touched).
 
Would it be possible for the runtime to query the assembly to determine if it's 
compatible or not?  Some sort of poor man's static analysis (eg, a manifest of 
API dependencies could be generated when the assembly is stored to disk, and if 
the runtime doesn't find any in the list that match any breaking change from 
the producing version, it accepts it).
 

________________________________

From: [EMAIL PROTECTED] on behalf of Haibo Luo
Sent: Mon 1/22/2007 4:44 PM
To: Discussion of IronPython
Subject: Re: [IronPython] Feedback needed for bug fix:Import pre-compiledmodules



If ironpython.dll is newer than lib.exe, and lib.py does not exist, we should 
expect an exception? 

>>> Yes

 

the upgraded-ironpython scenario

>>> I do not think this is supported. The pre-compiled module has much 
>>> dependency on IronPython.dll. Some emitted calls in those modules could be 
>>> changed (or removed) in the next version of IronPython.dll.

 

From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Keith J. Farmer
Sent: Monday, January 22, 2007 4:34 PM
To: Discussion of IronPython
Subject: Re: [IronPython] Feedback needed for bug fix: Import 
pre-compiledmodules

 

"""

"import lib" prefers loading lib.exe to lib.py,  if neither ironpython.dll nor 
lib.py is newer than lib.exe. 

"""

 

So:

    If lib.py doesn't exist, and lib.exe does, it'll import the exe.  

    If lib.py does exist, it'll load lib.exe if the .exe is newer. 

 

(Assuming in both cases that ironpython.dll is older than the exe.)

 

If ironpython.dll is newer than lib.exe, and lib.py does not exist, we should 
expect an exception?  How does this impact the upgraded-ironpython scenario for 
third-party dlls, or do you recommend sending source code to recompile with?

 

 

________________________________

From: [EMAIL PROTECTED] on behalf of Haibo Luo
Sent: Mon 1/22/2007 4:13 PM
To: users@lists.ironpython.com
Subject: [IronPython] Feedback needed for bug fix: Import pre-compiledmodules

We recently checked in a fix for codeplex work item# 358 (Implement import of 
pre-compiled modules 
<http://www.codeplex.com/IronPython/WorkItem/View.aspx?WorkItemId=358> ). If 
possible, please download the source, and try it with your scenarios to see 
whether it addresses your issue (since many of you voted for this item). 

 

Running ipy.exe with existing -X:SaveAssemlies switch saves all .py files to 
corresponding .exe files. For example, given 2 files, main.py, and lib.py

 

# lib.py

x = 10

 

# main.py

import lib

print lib.x

 

"ipy.exe -X:SaveAssemblies main.py" will result in the creation of lib.exe and 
main.exe.

 

Next time you run main.py (no switch necessary), "import lib" prefers loading 
lib.exe to lib.py,  if neither ironpython.dll nor lib.py is newer than lib.exe. 

This is also supposed to enable the binary deployment: you can copy only exe's 
(with the package structure) along with ironpython binaries to run your 
IronPython app.

 

A new switch "-X:NotImportCompiled" is provided to disable such pre-compiled 
module import.

 

Just a reminder, you can always vote on bugs in codeplex 
<http://www.codeplex.com/IronPython/WorkItem/List.aspx> . Thanks!

 

_______________________________________________
users mailing list
users@lists.ironpython.com
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com

Reply via email to