суббота, 9 февраля 2013 г.

MAVEN: Установить jar в локальный репозиторий

 mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> \ -DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>  

Здесь подробнее по параметрам.

Установить jar в локальный репозитарий:

 mvn install:install-file -Dfile=mylib-1.0.jar -DgroupId=com.lotos -DartifactId=mylib -Dversion=1.0 -Dpackaging=jar  

Установить jar в локальный репозиторий внутри проекта:

mvn install:install-file -Dfile=mylib-1.0.jar -DgroupId=com.lotos -DartifactId=mylib  -Dversion=1.0 -Dpackaging=jar -DlocalRepositoryPath=/path_to_project/lib/
И добавить в pom.xml:
 .............  
 <repositories>  
   <repository>  
     <id>localrepo</id>  
     <url>file://${basedir}/lib</url>  
   </repository>  
 </repositories>  
 <dependencies>  
   <dependency>  
     <groupId>com.lotos</groupId>  
     <artifactId>mylib</artifactId>  
     <version>1.0</version>  
 </dependency>  
   ..............  
 </dependencies>  
 ..........  

Другой вариант -- просто использовать system scope:

 <dependencies>  
   <dependency>  
     <groupId>com.lotos</groupId>  
     <artifactId>mylib</artifactId>  
     <version>1.0</version>  
     <scope>system</scope>  
     <systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/mylib-1.0.jar</systemPath>  
   </dependency>  
 .........  
   <dependencies>  

но при этом будут выдаваться предупреждение вроде такого:
 [WARNING] Some problems were encountered while building the effective model for **apk:1.0 [WARNING] 'dependencies.dependency.systemPath' for com.loopj.android.http:android-async-http:jar should not point at files within the project directory, ${project.basedir}/libs/android-async-http-1.3.2.jar will be unresolvable by dependent projects @ line 36, column 25  

четверг, 8 ноября 2012 г.

Тестовая подпись драйвера в Windows 7 x64 (Vista x64)

0) Активируем TestSigning mode, что бы можно было подгружать драйвера с тестовой подписью (run as Administrator):

Bcdedit.exe -set TESTSIGNING ON
и перезагружаем систему.

1) Создаем самоподписанный сертификат и добавляем его в Current User store:

makecert.exe -r -pe -ss MyCertStore -n "CN=MyTestCert" MyTestCert.cer

2) Подписываем драйвер:

signtool.exe sign /s MyCertStore /n MyTestCert mydriver.sys

Готово.

среда, 24 октября 2012 г.

SVN: Удаление удаленных файлов


Удаление из SVN репозитария файлов, которые уже удалены с диска.
svn status | grep '^\!' | sed 's/! *//' | xargs -I% svn rm %

суббота, 27 декабря 2008 г.

My Firefox Extensions

Как почитатель комфортного минимализма (только что придумал термин :) ) люблю использовать возможности расширения предоставляемые программами, при этом совершенно не приемлю всякие там супермегапаки, содержащие в себе много ненужного.

Гораздо интереснее настроить такие вещи как браузер или, к примеру, миранда самому.
Вот Firefox. Сразу после инсталяции добавляю в него набор extensions делающие его, с моей точки зрения, чрезвычайно приятным:

FlashGot - позволяет скачивать файлы, фильмы, галереи.
Download Master - удобней чем FlashGot для скачивания файлов, но намного лучше выключить родную безобразную интеграция от Download Master и использовать связку FlashGot->Download Master
NoScript - позволяет блокировать скрипты на веб ресурсах. Чрезвычайно полезно с точки зрения секьюрности, не так ли ?
Extended Statusbar - показывает всякую полезненькую информацию вроде скорости загрузки страницы, загруженное количество и т.п..
Tab Kit - табы в фаервоксе становятся ещё приятнее: разноцветненькие, в несколько рядов, можно закрывать все табы и справа и слева.
Adblock Plus - скажем нет рекламе.
HttpFox - недавно открыл для себя. Порой интересно глянуть что там у нас бегает по хттп.

Похоже это все установленные у меня расширение для лиса, если понравится ещё что то - непременно занесу в список )

четверг, 18 декабря 2008 г.

Инжект loopback пакетов в WFP

Тут возникла задача генерировать входящие TCP пакеты. Для этого имеет смысл использовать FwpsInjectTransportReceiveAsync0, при этом NET_BUFFER должен указывать на IP заголовок.

И вот я все бился в тщетных попытках так же заинжектить и loopback пакеты.
Но делается несколько иначе, а именно с использованием FwpsInjectNetworkSendAsync0 (ключевое слово send :) )

понедельник, 1 декабря 2008 г.

Установка TDI устройств-фильтров вне DriverEntry

Как известно, самый удобный сценарий для установки TDI фильтра это загрузка драйвера в группе "TDI" и навешивание устройства при загрузке.
В этом случае наш фильтр будет на месте до создания каких либо соединений с протоколом.

Но что если мы хотим загрузиться раньше tcpip, и, при этом, не пропустить момент создания соединений с протоколом?

Тут нам поможет TdiRegisterPnPHandlers. Причем стоит использовать не BindingHandler callback ( ибо когда он вызывается с параметром TDI_PNP_OP_PROVIDERREADY, коварный system уже успевает создать соединение), а ClientPnPAddNetAddress.
Скажем, для tcpip можно смело навешивать фильтр на устройства при добавлении первого IP адреса.

вторник, 16 сентября 2008 г.

Условная компиляция драйверов

Возникла задача линковать драйвер с разными сборками библиотеки в зависимости от целевой системы и типа сборки. Вопрос был решен добавлением в source файл следующего содержания:


!if !defined(DDK_TARGET_OS) || "$(DDK_TARGET_OS)"=="WinLH"

C_DEFINES=$(C_DEFINES) -DNDIS60=1

!if "$(DDKBUILDENV)" != "chk"

! if $(386)
TARGETLIBS=$(TARGETLIBS) #path
! else
TARGETLIBS=$(TARGETLIBS) #path
! endif

!else

! if $(386)
TARGETLIBS=$(TARGETLIBS) #path
! else
TARGETLIBS=$(TARGETLIBS) #path
! endif

!endif

!else

C_DEFINES=$(C_DEFINES) -DNDIS40=1

!if "$(DDKBUILDENV)" != "chk"

! if $(386)
TARGETLIBS=$(TARGETLIBS) #path
! else
TARGETLIBS=$(TARGETLIBS) #path
! endif

!else

! if $(386)
TARGETLIBS=$(TARGETLIBS) #path
! else
TARGETLIBS=$(TARGETLIBS) #path
! endif

!endif

!endif


Удобная всё же штука, make файлы )